加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Servlet 中文乱码问题及解决措施剖析

发布时间:2021-11-24 15:43:32 所属栏目:PHP教程 来源:互联网
导读:一、常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.Java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码; 3.getBytes() 是通过平台默认字符集进行编码; 二、中文乱码出现 在学习任何一门技术时,经常
一、常识了解
 
 
1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;
 
2.Java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;
 
3.getBytes() 是通过平台默认字符集进行编码;
 
 
 
二、中文乱码出现
 
 
在学习任何一门技术时,经常会有初学者遇到中文乱码问题,比如MySQL,是因为在安装时没有设置;而在Servlet中,也会遇到中文乱码问题;
 
比如:
 
OutputStream out = response.getOutputStream();
 
out.write(String );
 
输出中文时可能会出现乱码;
 
比如:
 
[java]
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
          
        OutputStream out = response.getOutputStream();  
        String data = "博客";  
        out.write(data.getBytes("UTF-8"));  
    }  
输出乱码的问题是程序用UTF-8编码,而浏览器用GB2312解码,因此会出现乱码;
 
 
 
三、解决中文乱码
 
 
在网上很有效的解决方法是添加:
 
response.setCharacterEncoding("UTF-8");
 
解决不了,后来又搜到一条解决方法是:
 
respnse.setHeader("content-type","text/html;charset=UTF-8");
 
两句都填上,后来终于解决了这个问题;
 
其实我们应该思考一下本质;

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读