
全部展开
刚开始学习jsp的程序员会遇到这样的问题,即无法显示网页上的中文. 总结了以下方法.
1. 在jsp页面上添加一个句子:

<%@页面contentType =“ text / html; charset = gb2312”%>中文显示为正常的e799bee5baa6e59b9ee7ad9431333332633637.
2. 对于通过String参数= request.getParameter(“ parameter”);从网页上的文本框获取的字符串,所有字符串均经过8859_1编码,
如果要在网页上显示它jsp页面乱码,则必须使用参数= new String(parameter.getBytes(“ 8859_1”),“ gb2312”)进行转换. Windows和Linux系统都相同.

一种简单的方法是使用request.setCharacterEncoding(“ GB2312”);在getParameter()方法获取参数之前,将提交的信息转换为GB2312编码.
3,但是对于将数据写入的问题,采取的方式是不同的:
在Windows下,必须先进行字符串转换,然后再将其插入,但在linux下不是必需的,而是直接插入8859_1编码的字符.
如果从读取的数据已转换为Windows的gb2312,因为它已在插入时进行了转换jsp页面乱码,则当显示在网页上时,它不需要进行编码转换,而在Linux上则是mysql是8859_1,因此我们需要进行编码转换.
4. 如果将中文字符串值分配给字符串变量,则在删除它时,网页上的显示不需要字符转换,
但是,如果要在Linux下比较字符,则还需要将字符转换为参数= new String(parameter.getBytes(“ gb2312”),“ 8859_1”).
5. 长江电力公司网站对中国问题的解决方案是:
1)在catalina.sh文件的相关位置添加以下行
-Dfile.encoding = GBK \
2)在每个jsp文件的开头添加以下两行
<%@页面contentType =“ text / html; charset = GBK”%>
<%request.setCharacterEncoding(“ GBK”);%>
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-210357-1.html
我反正不行要不给大家个毒誓