最近作购物系统,数据库用mysql,读取数据总是乱码,通过查找资料总结,终于得到解决,现将分享如下:
环境:xp sp2,
数据库:mysql4 j
dbc驱动:mysql-connector-java-3.1.12-bin.jar
jdk:jdk1.5
首先修改mysql的my.ini文件
在其中的[mysqld]下添加default-character-set=gb2312
注意大小写,设置不对mysql将无法启动
在java中连接数据库的时设置如下属性:
Connection conn = DriverManager.getConnection("jdbc:mysql://ip地址/数据库名?user=用户名&password=用户密码&userUnicode=true&characterEncoding=iso-8859-1 ");
例如:我得设置为:conn = DriverManager.getConnection("jdbc:mysql://localhost/shop?user=sa&password=&userUnicode=true&characterEncoding=iso-8859-1 ");
在jsp中设置page属性的 pageEncoding="gb2312" 即可
这样读出的数据就能识别中文,不会出现乱码
环境:xp sp2,
数据库:mysql4 j
dbc驱动:mysql-connector-java-3.1.12-bin.jar
jdk:jdk1.5
首先修改mysql的my.ini文件
在其中的[mysqld]下添加default-character-set=gb2312
注意大小写,设置不对mysql将无法启动
在java中连接数据库的时设置如下属性:
Connection conn = DriverManager.getConnection("jdbc:mysql://ip地址/数据库名?user=用户名&password=用户密码&userUnicode=true&characterEncoding=iso-8859-1 ");
例如:我得设置为:conn = DriverManager.getConnection("jdbc:mysql://localhost/shop?user=sa&password=&userUnicode=true&characterEncoding=iso-8859-1 ");
在jsp中设置page属性的 pageEncoding="gb2312" 即可
这样读出的数据就能识别中文,不会出现乱码