mysql4.1的java中文问题解决
来源:互联网 发布:js h5 实现超级玛丽 编辑:程序博客网 时间:2024/05/17 23:21
装了一个mysql4.1以后,竟然发现中文问题了。哎,已经好久没有被中文问题困扰了,没想到今天却被这个问题折腾了一个多小时。
首先有必要说明的是,你的驱动需要更新到 mysql-connector-java-
JDBC URL:"jdbc:mysql://jf:3306/learning?useUnicode=true&characterEncoding=GBK" 在4.0版本解释中文没有任何问题,但是在4.1中就不起任何作用,中文依旧乱码。
刚开始以为gbk不支持,那么就更换成utf-8测试一下,结果还是不行。查阅参阅了http://dev.mysql.com/doc/connector/j/en/index.html 文档,发现白费了功夫:
Using the UTF-8 Character Encoding - Prior to MySQL server version 4.1, the UTF-8 character encoding was not supported by the server, however the JDBC driver could use it, allowing storage of multiple character sets in latin1 tables on the server.
查阅 http://dev.mysql.com/doc/connector/j/en/cj-character-sets.html 文档,发现latin1默认是 iso8859_1的字符编码。
但是从数据库检索出来后用转码,从iso8859_1转为GBK也是无效。
后来搜索了在网上搜索了一下,发现有介绍修改 mysql的 my.ini文件,将my.ini 中的 [mysqld] 里添加一行:default-character-set=gbk,然后重起mysql。这个方法因为设计到需要重新启动mysql,没有测试。不知道是否可行。
但是发现用ems mysql创建表的sql中多了default charset属性。默认为latin1。
CREATE TABLE `tmp_4` ( `id` tinyint(4) NOT NULL auto_increment, `a` char(1) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
于是将sql更改为 DEFAULT CHARSET=gbk ,重新创建了表。中文问题就这么解决了。不过唯一不好的就是,在mysql中存储的是???之类的字符,无法通过控制台进行查看修改。这个问题目前我还没有找到好的方式,不知道以上修改my.ini的方式是否可行,大家可以测试一下。
- mysql4.1的java中文问题解决
- MySQL4.1的中文问题
- hibernate+mysql4.1的中文问题
- MySQL4.1导入的中文乱码问题
- mysql4.1 中文问题
- MYSQL4.1下的网站乱码问题解决方法
- MySQL4.1的字符集讲解(转至hibernate中文网)
- MySQL4.1的用户密码问题
- MYSQL4.1版本的问题
- Mysql4.1.7中文解决方案
- Mysql4.0.20中文乱码
- mysql4.1
- 修正Bugfree 1.0 + mysql4.1中文显示乱码问题
- Java的中文问题解决经典总结
- Java的中文问题解决经典总结
- java写入中文乱码的问题解决
- Java中文问题解决方案
- JAVA中文问题解决总结
- 怎样成为优秀的软件模型设计者?
- 目前中文网站排名市场得到普遍看好
- 怎么判断dataGrid里的复选框被选中
- [转贴]Javascript中暂停功能的实现
- 年终考核:对你的上司,你是如何评价的?
- mysql4.1的java中文问题解决
- ASP.NET中的错误处理支持
- HTML标签表
- 代码编写规范Asp.Net(c#)
- 超Cool的英语杂志
- 利用 ThreadLocal 提高可伸缩性(转贴)
- 创业者的十大“必杀技”
- oracle日积月累[ZT]-浅析自动连续数或者按目的取数函数RANK(),DENSE_RANK()功能
- 发觉自己最近心境很浮躁