在.htm文件中插入到mysql5.0数据库的中文通过.jsp文件或在mysql命令行界面正确显示出来

来源:百度知道 编辑:UC知道 时间:2024/05/27 15:17:21
如何将在.htm文件中插入到数据库的中文通过.jsp文件或在mysql5.0命令行界面正确显示出来,而不是乱码(如??)
感谢大家帮我解决问题。事实上我的问题我通过修改mysql5.0的configuration解决的。即打开MySQL Server Instance Configuration 在Please select the default character set 对话框中选择Manual Selected Default Character Set/Collation 然后在下拉框中选择gbk,接下来再在各个jsp程序中用<%@ page contentType="text/html;charset=GBK"%> ,好了,这样就可以正常显示中文了。奇怪的是大家说的在jsp程序开头处添加response.setCharacterEncoding("gbk");在我的程序中反倒成了产生错误的因素了。

这其实是一个字符集的兼容性问题,如果需要处理中文,建议你把字符集选择为“GB2312”。具体如下:
用户在客户端浏览.htm文件后,会(通过点击按钮或其它方式)发送一个请求到服务器端,服务器端可能会用.jsp或Servlet来处理这个请求,然后把传递过来的参数值保存到数据库中,在.jsp或Servlet中,获取到相关的参数值,做一个字符集转换再保存到数据库,例如:

String str=request.getParameter("参数名");
str=new String(str.getBytes("ISO-8859-1"),"GB2312");
再将此str作为SQL的值保存到数据库中。

如果你使用MySQL数据库,则需要将数据库的默认字符集选择为GB2312,启动MySQL服务器后,用命令行客户端以root用户连接到数据库,使用语句:

show variables like 'char%';

查看一下字符集的配置,确保如下五个参数值为GB2312:

character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server

如果有参数值不是GB2312,请使用MySQL的参数设定语句 set global 参数名=参数值; 来修改相关参数,当然,修改字符集的另外一种方法是关掉服务器,去 MySQL 的安装目录下找到My.ini配置文件(Windows平台),打开该配置文件,将[mysql]下的参数default-character-set值修改为GB2312,将[mysqld]下的参数default-character-set值也修改为GB2312,然后重启服务器。
完成这一步,在mysql的命令行客户端查询中文值就不会是乱码了。

如果你需要将这些值查询出来显示到.jsp文件中,请在.jsp文件中也将相关字