java web 编码,中文显示不了。 试过utf-8了,显示的是问号。

Python011

java web 编码,中文显示不了。 试过utf-8了,显示的是问号。,第1张

Java中UTF-8转GBK之所以不会出现中文乱码,是因为UTF-8编码为兼容性最大的字符集编码,它本身就支持中文字符。Java代码转码范例:String s = new String(ss.getBytes(),"GBK")当你的内容本来就是正常的中文字符时,通过上面的语句转为GBK编码是不会有任何问题的,但如果你在转码之前的字符不是正确的中文字符,或者不是支持中文字符的字符集,那可能就会出现乱码问题。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。在Java开发中,特别是web开发,乱码是一种很常见而且很头疼的问题,这常常是由于页面端、服务端、数据库等几处所使用的字符不一致所致,故开发中,保持编码一致, 往往能减少由于乱码而带来的时间浪费,是一件非常重要的事情。

request.setCharacterEncoding()是从页面得到数据,数据在往servlet中送的时候字符的编码格式, response.setCharacterEncoding()是servlet给页面送数据,也就是响应给页面的字符编码格式。这两个都要与页面的字符编码一致。

如果要解决中文乱码呢?最好用过滤器做。还有一个呢,就是我经常用的,把所有的编码格式都设成GBK,这样出现乱码的概率小点,这是我的一点小小的经验,你可以试试

java web工程出现中文乱码可以有如下解决方案:

1、项目文本文件默认编码:【右击项目】->【Properties】->【Resource】->【Text file encoding】

2、文件默认编码:默认使用项目的默认编码:【右击文件】->【Properties】->【Resource】->【Text file encoding】

3、 JSP 文件编码:【右击文件】->【Properties】->【Resource】->【Text file encoding】

4、JSP翻译为Servlet时的编码:

<%@ page language="java" pageEncoding="utf-8"%>