mysql4.1,mysql4.1中文问题。欢迎各位朋友来谈谈你们的看法!

mysql4.1中文问题。欢迎各位朋友来谈谈你们的看法! - 故障解答 - 电脑教程网

mysql4.1中文问题。欢迎各位朋友来谈谈你们的看法!

日期:2007-09-08   荐:
mysql4.1中文问题。欢迎各位朋友来谈谈你们的看法!我是用J2ME做的客户端,用servlet做的服务器端用MYSQL4.1做数据库,使用EMS MySQL Manager 3 Lite图形界面工具创建数据库。JBuilderX编辑环境。客户端实现两项功能,查询数据库中的数据,更新数据库中的功能。也就是J2ME客户端调用Servlet服务器端,访问Mysql4.1数据库(使用url类实现)。在查询的时候,我通过强制转码实现了显示中文。String user_name=rs.getString("user_name");user_name=new String(user_name.getBytes("iso-8859-1"),"GB2312");但在插入的时候,强制转码就无效了,不知道是不是我弄错了。String ds = request.getParameter("ds");ds=new String(ds.getBytes("GB2312"),"iso-8859-1");//改成getBytes("MS950")也没用。在servlet的doGet方法中,含有:request.setCharacterEncoding("MS950") ;//这是什么编码方式?response.setContentType("text/plain;charset=GB2312");//charset应该如何定义呢?是定义成GB2312还是UTF-8?请各位朋友谈谈你们的看法,不胜感激!我的MYSQL5.0也遇到跟你相同的问题` 严重郁闷啊!难道要逼我们用回老版本???在建表时,指定表格的字符集。ER/studio6 有这个功能在创建表时加上 ENGINE=MyISAM DEFAULT CHARSET=gb2312; 例如:CREATE TABLE `category_channel` ( `news_channel_id` varchar(255) NOT NULL default '', `news_category_id` varchar(255) NOT NULL default '') ENGINE=MyISAM DEFAULT CHARSET=gb2312; 然后再存取数据库时,还是按照老办法,在url地址后面加上characterEncoding=gb2312一切ok了;)我的问题终于解决了,但是我觉得方法不怎么好。我是通过强制转码解决的。就是存入数据库时从GBK转码为ISO-8859-1读出数据库时再从ISO-8859-1转码为GBK,我开始只所以这么做也不行就是因为URL地址后面加了characterEncoding=gb2312,我好郁闷啊,最后改成characterEncoding=ISO-8859-1就好了。to: denghan(很久没来ASP版了)我不知道怎么在EMS MySQL Manager 3 Lite修改,我在改了之后,DDL中如你所说的的内容:CREATE TABLE `user` ( `user_ID` int(32) NOT NULL auto_increment, `user_name` varchar(128) default NULL, `password` varchar(128) default NULL, `description` varchar(128) default NULL, PRIMARY KEY (`user_ID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1最后一行不管我如何修改一直没变,而且好像不能直接在DDL中修改。我在Database Registration Info中修改了Client charset后它依然没有改变,倒是我数据库中的中文数据变成乱码了。
标签: