当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 问题:用 jdbc 插入、读取数据库种文字串乱码。
 

 

 ·sql语法手册     »显示摘要«
    摘要:http://blog.csdn.net/web_gus/archive/2004/10/11/132122.aspx ......
    摘要:对《第一次编写java程序的步骤(假设使用windoz)》的说明:作者:ratking1.下载j2sdk 1.4.1rc (::自动识别的url::http://java.sun.com,建议同时下载其java document,这是java帮助文档)说明:目前j2se的版本是1.4.1_01,位于 ::自动识别的url::http://java.sun.com/j2se/1.4.1/downlo......


java 与 mysql 中文问题的处理
问题:用 jdbc 插入.读取数据库种文字串乱码.

【程序编程相关:整合Hibernate2.1.6到JBo

【推荐阅读:游走于ASP与ASP.NET的郁闷

【扩展信息:一个Generic实例应用程序

首先,mysql 数据库中的东西都是二进制存放的,支持任何数据,当然包括中文.你到命令行下

insert into testtable values ( ´中文´ );

select * from testtable;

全都显示正常.

但是,虽然存取中文没问题,但排序.匹配的时候有问题.所以如果你的数据库里有中文的话,记得在配置文件中,如 c:winntmy.ini 中的 [mysqld] 里添加一行:

default-character-set=gbk

然后重启 mysql server . 注意 gbk 要小写,不然 mysqld 启动不了.

其次,数据库没问题,下面看看 java 程序.在程序里很无聊地加一句调试语句:

out.println("中文");

也显示正常,说明整个 java 环境没问题.

所以,当然是联系 java 与 mysql 的部分,mysql jdbc driver 出问题了.

分析一下,java 内部使用 unicode ,而 mysql 缺省使用 iso-8xxx(忘了),所以 jdbc driver 把查询字符串传给 mysql server 时,会做 unicode->iso-8xxx 的转换,从 mysql server 接受结果时,会做 iso-8xxx->unicode 的转换.
...   下一页
    摘要:using system;using system.drawing;using system.collections;using system.componentmodel;using system.windows.forms;using system.data;using system.runtime.serialization.formatters.binary;using system.ru......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE