当前位置: 技术问答>java相关
jsp初学者,关于汉字显示成乱码问题。
来源: 互联网 发布时间:2017-04-19
本文导语: html文件 validate.html 内容如下: 输入验证 *姓名: *身份证号码: jsp文件validate.jsp 您的姓名: 当在文本框“姓名”中输入字符串如:“大象”...
html文件 validate.html
内容如下:
输入验证
*姓名:
*身份证号码:
jsp文件validate.jsp
您的姓名:
当在文本框“姓名”中输入字符串如:“大象”,显示结果如下“您的姓名:??”,请问怎么样才能正确显示
字符串“您的姓名:大象”
内容如下:
输入验证
*姓名:
*身份证号码:
jsp文件validate.jsp
您的姓名:
当在文本框“姓名”中输入字符串如:“大象”,显示结果如下“您的姓名:??”,请问怎么样才能正确显示
字符串“您的姓名:大象”
|
|
你用的是TOMCAT吧,
tomcat内部会把所有参数转为iso_8859_1,所以你需要把字符用iso_8859_1的格式来取回参数。
正如上面的:
str = new String(str.getBytes("ISO8859-1"),"gb2312");
tomcat内部会把所有参数转为iso_8859_1,所以你需要把字符用iso_8859_1的格式来取回参数。
正如上面的:
str = new String(str.getBytes("ISO8859-1"),"gb2312");
|
然后
String strUserName = new String(request.getParameter("user_name").getBytes("ISO-8859-1"), "gb2312");
String strUserName = new String(request.getParameter("user_name").getBytes("ISO-8859-1"), "gb2312");
|
在jsp页面加入:
|
就是字符集的问题。。。上面的几位都说了,我就不说了。
但,还有一事,就是如果你的jsp文件里用到了数据库方面的东西,如果连接,插入动作时,就不会出现汉字乱码的。你可以试试。。。。
但,还有一事,就是如果你的jsp文件里用到了数据库方面的东西,如果连接,插入动作时,就不会出现汉字乱码的。你可以试试。。。。
|
把你validate.html文件中的第三行:
改成:
validate.jsp
文件第一行改成:
改成:
validate.jsp
文件第一行改成:
|
如果想简体和繁体也能正确显示的话
就把上面提到的
str = new String(str.getBytes("ISO8859-1"),"gb2312");
中的gb2312改为GBK
就把上面提到的
str = new String(str.getBytes("ISO8859-1"),"gb2312");
中的gb2312改为GBK