自从以前学习jsp开始,中文乱码问题就一直不断,苦不堪言.这次在项目开始之前,我们要解决的第一个问题就是把mysql的中文乱码问题搞定.经过多天的努力,终于成功的解决了中文乱码问题,特写在这里,以备后用.
目标:在该环境下,实现中文的正常显示,读取与插入数据库. 【程序编程相关:构架企业级一体化知识门户】软件及环境:windows xp(2000), j2sdk1.4.2, tomcat 5.0.25, mysql 4.1, ems mysql manager 2(方便建表,版本2.8.5.1),驱动为mysql-connector-java-3.1.4-beta-bin.jar. 【推荐阅读:5.2 插件的Hello World】要点:统一字符集(jsp页面编码,mysql建库时字符集选择,连接数据库url,request设定等) 【扩展信息:变数的种类 (蔡学墉)】注:我只在此环境下测试通过,别的系统及不同版本未测试
下面我以gbk为例讲解.如果要使用utf-8,只要在相应的gbk处换成utf-8即可--------------------------- 步骤1 以gbk字符集建库建表 -------------------------------------我使用ems来建mysql的数据库及表,因为它是图形界面,方便操作(就像sql server 2000中的企业管理器一样).建库时,从ems菜单中选create database...新建一个数据库,characterset选gbk_bin(另一个gbk_chinese_ci不知道与这个有什么区别,我找资料也没有找到.如果你知道,请告诉我,我补充在这里).不要把工具栏上有一个加号与数据库模样的图标当成新建数据库了,那个新注册一个已经存在的数据库.后面建表时,也要选择同样的字符集.建好后,此时不要用ems向里面插入数据,否则你看到的中文依然是乱码.--------------------------- 步骤2 连接数据库的url后加些参数 -------------------------------假设我新建的数据库是testdb,那么我连接数据库的url应该为:jdbc:mysql://localhost:3306/testdb?useunicode=true&characterencoding=gbk此时要注意:如果我是把这个url写在java代码中,就直接这样写.但如果是在xml配置文件中(如struts-config.xml,web.xml等),要把其中的&改为&才行,否则会出错.... 下一页