当前位置: 技术问答>java相关
关于SERVLET显示中文的问题
来源: 互联网 发布时间:2015-07-08
本文导语: 我采用SERVLET来获取表单信息,在SERVLET代码里我用 response.setContentType("text/html"); 这样表单里的汉字可以很正常的显示在SERVLET运行后的页面,比如表单里的姓名“小张”就可以很好的显示,但是这时该页面的其他汉字(...
我采用SERVLET来获取表单信息,在SERVLET代码里我用
response.setContentType("text/html");
这样表单里的汉字可以很正常的显示在SERVLET运行后的页面,比如表单里的姓名“小张”就可以很好的显示,但是这时该页面的其他汉字(不是通过表单获取的),如TITLE,就显示的是“???”。我于是在SERVLET代码里做了修改,改为:
response.setContentType("text/html;charset=gb2312");编译,运行,这样页面里的汉字显示正常了,如TITLE.但是获取的表单数据里面的汉字却又变成了“???”。很让人头疼。望高手指点,帮我解决这个问题,谢谢。
response.setContentType("text/html");
这样表单里的汉字可以很正常的显示在SERVLET运行后的页面,比如表单里的姓名“小张”就可以很好的显示,但是这时该页面的其他汉字(不是通过表单获取的),如TITLE,就显示的是“???”。我于是在SERVLET代码里做了修改,改为:
response.setContentType("text/html;charset=gb2312");编译,运行,这样页面里的汉字显示正常了,如TITLE.但是获取的表单数据里面的汉字却又变成了“???”。很让人头疼。望高手指点,帮我解决这个问题,谢谢。
|
你把表单传过来的数据转化一下编码,
str = new String(str.getBytes("iso-8859-1"),"gb2312");
这样表单传过来的数据显示就正常了
str = new String(str.getBytes("iso-8859-1"),"gb2312");
这样表单传过来的数据显示就正常了