mysql连接中的中文乱码的解决
2008-09-03 13:18
330 查看
mysql5.1.7-beta-log和mysql-connector-java-5.0.5中文乱码的解决<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
整整弄了一个晚上,终于解决了jdbc(mysql-connector-java-5.0.5)和mysql5.1.7通信中文乱码的问题!我的系统是linux(FC5)。在java中(eclipse环境)使用jdbc连接mysql。存储英文没问题,写(insert into)和读(select)都能正确显示,但是若其中带有中文字符就成乱码了。看了mysql5.1的中文手册没有解决,到网上查找了半天资料,最后终于成功。
我的经验是,在/etc/my.cnff文件中加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
这时,mysql系统,服务器、客户端、数据库、连接都使用utf8编码。可以用mysql>show variables like 'character%'看一下结果,我的系统是:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
第二步,在jdbc中的url结尾增加:
?characterEncoding=UTF8
这两步完成后,你用java编写的程序就能够正确读写mysql中文字符了。而且你用mysql客户端写入的中文数据也可正确读取!
需要注意的是,如果你在默认情况下,就建立好的数据库(create database %)可能要在上面的设置环境中重启mysql服务器后,重新建立才能正确读写中文字符!因此,这些配置应该在系统搭建之初就配置好!
注意:在windows环境下,修改的配置文件是my.ini,其他如上所述,基本不变。
整整弄了一个晚上,终于解决了jdbc(mysql-connector-java-5.0.5)和mysql5.1.7通信中文乱码的问题!我的系统是linux(FC5)。在java中(eclipse环境)使用jdbc连接mysql。存储英文没问题,写(insert into)和读(select)都能正确显示,但是若其中带有中文字符就成乱码了。看了mysql5.1的中文手册没有解决,到网上查找了半天资料,最后终于成功。
我的经验是,在/etc/my.cnff文件中加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
这时,mysql系统,服务器、客户端、数据库、连接都使用utf8编码。可以用mysql>show variables like 'character%'看一下结果,我的系统是:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
第二步,在jdbc中的url结尾增加:
?characterEncoding=UTF8
这两步完成后,你用java编写的程序就能够正确读写mysql中文字符了。而且你用mysql客户端写入的中文数据也可正确读取!
需要注意的是,如果你在默认情况下,就建立好的数据库(create database %)可能要在上面的设置环境中重启mysql服务器后,重新建立才能正确读写中文字符!因此,这些配置应该在系统搭建之初就配置好!
注意:在windows环境下,修改的配置文件是my.ini,其他如上所述,基本不变。
相关文章推荐
- navicat8 连接mysql,查看UTF8中文乱码问题解决办法
- 【dbcp.properties】连接MySQL出现中文乱码解决
- c# 连接MySQL中文乱码问题的解决方法
- PHP连接MySQL查询结果中文显示乱码解决方法
- 【MySQL学习笔记】4:解决JDBC连接MySQL的query结果中文乱码问题
- eclipse连接mysql插入中文乱码解决办法
- java连接mysql时出现中文乱码的解决办法
- 耗时5天解决thinkphp连接mysql中文乱码的问题
- vs2005 C#与mySql连接解决中文乱码问题
- .net连接mysql中文乱码问题的解决
- 如何用dot net连接MySQL,及中文乱码问题解决
- java连接mysql中文乱码解决之道
- Mac OS环境下Java连接MySql中文乱码解决方法
- ubuntu12下hibernate3.3 和mysql 5连接中文乱码解决
- JDBC连接mysql处理中文时乱码的一种解决办法
- 解决Xshell等Linux终端连接MySQL中文乱码问题
- matlab: 通过 odbc 数据源连接 mysql 数据库,并解决数据中文乱码
- python django MySQLdb 连接 mysql 5.5 中文乱码问题的解决
- MySQL中文乱码、远程连接、表容量修改、初始密码修改问题解决、Packet Bigger设置
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)