首页
学院学院学院
论坛
新闻
博客
相册
软件
商品
音乐
电影
留言
注册
Login
学院
博客
新闻
论坛
相册
软件
商品
音乐
电影
祝福墙
留言簿
网站运营
网络技术
编程语言
Web开发
数据库
操作系统
上网冲浪
网页设计
网站首页
>
学院首页
>
文章浏览
阿帕奇网站公告.
Mysql5写中文乱码问题解决
来源:互联网作者:阿帕奇
发表时间:[2008-10-9 21:43:39]。评论 0 篇
浏览138次。最后阅读时间:[2009-1-7 20:35:36]
文章字体【
大
中
小
】
我插入Mysql5的中文一直是乱码。 但是直接使用mysqlAdmin,EMS等工具插入DB就不是乱码。而且我还可以使用程序正常地读出来。 原因是: DBDriver
C
lass=com.mysql.jdbc.Driver DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8 这样的URL中useUnicode=true和characterEncoding=utf-8两个属性都不好用。 所以,
数据库
服务器无法从URL中获知
C
lient使用了哪个编码。于是就使用数据库服务器上默认的latin也就是iso-8859-1编码来解析用户发送的sql语句。这样,原本用户是用
操作系统
的编码,但是服务器硬给转成ISO-8859-1,所以就乱码了。
C
lient端只要配置好 useUnicode=true characterEncoding=utf-8 这两个属性。只要指定了,就不会乱码。utf-8可以,gb2312可以,gbk可以。指定了什么,
C
lient就默认以这种 编码转换SQL语句,服务器也就知道怎么转会去。 怎么看客户端发送给服务器的SQL使用什么编码呢? 在客户端写个程序,执行SQL语句: public void select() throws SQLException {ResultSet rs = this.cnn.createStatement().executeQuery("SHOW VARIABLES LIKE 'character_set_%'");while(rs.next()){System.out.println(rs.getString(1)+","+rs.getString(2));}rs.close();} 没有配置characterEncoding=utf-8之前,我使用的是DBURL=jdbc:mysql://10.4.2.52:3306/srx?useUnicode=true&characterEncoding=utf-8 这样的配置。结果用select()方法查询结果如下: character_set_client,latin1 character_set_connection,latin1 character_set_database,utf8 character_set_filesystem,binary character_set_results, character_set_server,latin1 character_set_system,utf8 character_sets_dir,/usr/local/mysql-standard-5.0.27-
Linux
-i686/share/mysql/charsets/ 注意第一行就可以了,可见使用的是latin1。 而latin1本身就无法表示汉字,经过这个编码打包的SQL语句发给Server,Server也用Latin1解析也无法还原。 所以,我总是写乱码到DB。 而配置了配置characterEncoding=utf-8之后, 执行select(),结果: character_set_client,utf8 character_set_connection,utf8 character_set_database,utf8 character_set_filesystem,binary character_set_results, character_set_server,latin1 character_set_system,utf8 character_sets_dir,/usr/local/mysql-standard-5.0.27-linux-i686/share/mysql/charsets/ 第一行为utf-8,SQL将用UTF8打包给Server,Server也用
C
lient配置的UTF8 解析。
关键字:
LINUX
MYSQL
C
上一篇:
MySQL中修改密码及访问限制设置的六种方法
下一篇:
MySQL数据库中关于网络安全的解决方案
相关文章
使用MySql ODBC进行MYsql和MSsql的数据转换
如何将图片储存在MySQL数据库里?
MySQL数据的导出和导入工具:mysqldump
Mysql5写中文乱码问题解决
将MySQL服务添加到Windows系统服务中
MySQL ODBC进行MySQL和SQL Server转换
如何把ACCESS的数据导入到Mysql中
浅谈数据库的攻击
客观公正地评价MySQL和PostgreSQL的优劣
MySQL双向加密和单项加密函数
标题
内容
更多评论
作者
时间
搜索文章名称:
相关文章
客观公正地评价MySQL和PostgreSQL的优劣
在 MySQL 数据库中使用执行SQL 语句
快速掌握Ora-00600 4194错误的解决方法
从授权方式和成熟性等来探讨不使用MySQL的理由
快速修复mysql数据库
使用MySql ODBC进行MYsql和MSsql的数据转换
Mysql5写中文乱码问题解决
MySQL性能优化全攻略(四)-相关数据库命令
MySQL怎样优化WHERE子句
MySQL数据库的管理
数据正在加载中......
阿帕奇网提示信息!
X
阿帕奇网站公告.