mysql,Struts Servlet 和 JSP 中解决中文问题

来源:互联网 发布:如何下载打车软件 编辑:程序博客网 时间:2024/05/20 23:02

有多种

(1)在Mysql目录下找到my.ini
打开,找到default-character-set设置,把它改成:
default-character-set=gb2312

如果是5.0或更高版本,可以在配置面板里设置:
详见:http://ycoe.cnblogs.com/articles/354485.html

(2)String newName = new String(name.getBytes("iso-8859-1"),"gbk");

1、确定你在安 Mysql时的字符集是 gbk
------>1、 <%@ page language="java" pageEncoding="UTF-8"%>
------>2、 如果你在JSP里有中文,好那可以正常显示,加上一个struts标签的form 也有正常的显示为中文,但是当你在表单 里提交中文的时候就会变成乱码
------>3、 变成乱码以后在与数据库的数据进行比较的时候就会出错,而且倒回表单时你会看到?????的乱码
------>4、 解决办法是 把 <%@ page language="java" pageEncoding="UTF-8"%> 删除掉 在第一行加上
<%@ page contentType="text/html;charset=gb2312"%>
和在
<head><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head>
(注意一定在head里第一行)
------>5、当用post提交数据时,也会变成乱码,解决办法是

把项目文件下的 WEB-INF/web.xml
加上以下代码
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

然后把servlet里的WEB-INF/classes/filter目录拷贝到项目里对应的目录,这样就可以解决因post提交引起的中文问题
OK!改成STRUTS中文问题

servlet的中文问题

response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("GB2312");

struts 中文问题
把资源文件用native2ascii.exe 编译一下,放在原来的位置就可以啦

原创粉丝点击