只要html和程序中使用同一种编码 应该不会出现乱码 如果还有乱码则是数据库问题 建议修改如下
① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的my.ini;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了
今天是一mysql5.0遇到无法输入中文问题,查了很久,至少5个小时,有的说要设置字符集,有的甚至都去该mysql的源码了,实在是强。 后来经过反复试验,发现,其实很简单,所有的编码都采用utf-8编码就可以解决中文问题。 首先,在安装的时候需要选择utf-8编码做默认字符集,如果安装了也不要紧,通过配置工具也可以修改这个设置的。 然后, 就是通过图形客户端工具Navicate Lite 打开,分别检查数据库,表及表的字段是否都采用了utf-8的编码,如果不是,改成utf-8的编码。 保存,就可以解决中文问题了。那么,在dos下插入或者查询mysql的内容的时候,出现乱码或者不允许插入,则需要运行:set names gbk或者set names gbk2312就可以正常insert 和select了。
当在jsp页面中显示来自mysql中的中文内容的时候,需要将jsp页面的字符集设置成中文字符集就可以正常显示中文了。加上: 就可以了。
总结一下: 在mysql数据库中采用通用的utf-8编码,在客户端显示的时候,采用gbk/gbk2312以正常显示中文。