当前位置: 技术问答>java相关
为什么不正确显示汉字?
来源: 互联网 发布时间:2015-07-18
本文导语: 从一个表单中填入数据,然后通过post方法把它传到变量中,然后插入数据库,但是不能正确显示汉字,是不是getParamenter()方法不能接收汉字? 请遇到过此类问题的高手指教一下,谢谢了! 请输入你的姓名...
从一个表单中填入数据,然后通过post方法把它传到变量中,然后插入数据库,但是不能正确显示汉字,是不是getParamenter()方法不能接收汉字?
请遇到过此类问题的高手指教一下,谢谢了!
请遇到过此类问题的高手指教一下,谢谢了!
请输入你的姓名:
请输入你的年龄:
请输入你的性别:
请输入你的班级:
请输入你的地址:
|
解决中文显示问题的几个方法:
1.修改区域设置:在控制面版中选择区域设置,设为英语(美国), 然后重起。一切就都正常。
2.在jsp页中加入一条语句:
中文显示就正常了。
3.在编译servlet和jsp时加入代码选项。编译servlet使用
javac -encoding iso8859_1 myservlet.java
在jsp的zone配置文件中.修改编译参数为:
compiler=builtin-javac -encoding ISO8859_1
使用这种方法后,不需要作其他的改动就可以正常显示中文了。
4.最土的办法,在servlet源程序中加入代码变换语句。如
String ls_name = request.getParameter("username");
if(ls_name == null) ls_name = "";
ls_name = new String(ls_name.getBytes("8859_1"));
1.修改区域设置:在控制面版中选择区域设置,设为英语(美国), 然后重起。一切就都正常。
2.在jsp页中加入一条语句:
中文显示就正常了。
3.在编译servlet和jsp时加入代码选项。编译servlet使用
javac -encoding iso8859_1 myservlet.java
在jsp的zone配置文件中.修改编译参数为:
compiler=builtin-javac -encoding ISO8859_1
使用这种方法后,不需要作其他的改动就可以正常显示中文了。
4.最土的办法,在servlet源程序中加入代码变换语句。如
String ls_name = request.getParameter("username");
if(ls_name == null) ls_name = "";
ls_name = new String(ls_name.getBytes("8859_1"));
|
String names = request.getParameter("name");
names = (names == null) ? "" : new String(names.getBytes("ISO-8859-1"),"GB2312");
用上面的方法转换字符集。
names = (names == null) ? "" : new String(names.getBytes("ISO-8859-1"),"GB2312");
用上面的方法转换字符集。