Servlet 中文乱码的避免

package com.pythoncat.web.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LServlet extends HttpServlet {

    /**
     * 演示避免中文乱码的情况(UTF-8)
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //1. 中文乱码的根源:
        /**
         * <pre>
         *     首先,这是一个忧伤的故事。
         *     在服务器端,进行响应的时候,会将任何的字符串通过默认的编码转自字节数组,以便计算机能够识别。
         * 而tomcat默认的编码方式是iso8859-1。但是,事实上呢,iso8859-1本身不支持中文字符串的编码与解码
         * 这样一来,中文必然是乱码。
         *       那么,为了改变这一状况。我们指定服务器这边响应的编码与解码方式为UTF-8.这样一来,至少,服务器
         * 这边呢,在编码与解码的时候,不会产生乱码了。
         *       但是,这并没有避免乱码的出现。(在客户端的出现),因为,大部分浏览器,在中国大陆,使用的字符串的
         * 默认解码/编码方式为GBK。这样一来,utf-8转换的字节数组,通过gbk去解码,依然是个乱码。
         *     那么,我们就得让浏览器也使用utf-8去解码。怎么做呢?就是设置一个特殊的响应头,告诉浏览器,我的
         * 编码方式,让浏览器使用相同的方式去解码,这样就顺利解决了中文的乱码情况。
         * </pre>
         */
        response.setContentType("text/html;charset=utf-8");
        //这一句就是将自己设置成UTF-8编码,并作为响应头告诉浏览器我使用的编码方式!
        response.getWriter().print("我是中文,你奈我何?");
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值