乱码处理及编码格式

原创 2012年03月28日 18:42:20
一、response:从服务器返回页面:
        1、jsp中设置charset=GBK
        2、response.setContentType("text/xml;charset=GBK")
    
二、request:到服务器再到数据库
        1、get和post请求:
            new String(strObj.getBytes("iso-8859-1"),"GBK")        
        2、post请求:
            a、request.setCharacterEncoding("GBK");
            b、可以设置filter过滤器拦截
        3、get请求:
            步骤1、先配置服务器的设置,如tomcat:在它的\conf\server.xml中:
                <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443"
                 URIEncoding="GB18030"/>    //增加URIEncoding的设置
        步骤2、然后在java中对中文采用java.net.URLEncoding.encode()编码
            
三、response.sendRedirect重定向时:
        1、采用new String(strObj.getBytes("iso-8859-1"),"GBK")
        2、采用与上面一样的处理:    
            步骤1、先配置服务器的设置,如tomcat:在它的\conf\server.xml中:
                    <Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443"
                     URIEncoding="GB18030"/>    //增加URIEncoding的设置
          步骤2、然后在java中对中文采用java.net.URLEncoding.encode()编码,比如:
                //errorMessage为字符串
                //URLEncoder.encode(errorMessage, "GB18030"))用来将errorMessage的编码格式转换为GB18030格式
                response.sendRedirect(request.getContextPath() + "/basedata/my.jsp?errorMessage=" + URLEncoder.encode(errorMessage, "GB18030"));

四、spring的乱码过滤器:org.springframework.web.filter.CharacterEncodingFilter
        web.xml中配置:
        <filter>
            <filter-name>encodingFilter</filter-name>
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>GBK</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>encodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
       </filter-mapping>
    
    
几种编码范围:            
    GB18030:    覆盖了所有unicode编码,是windows的默认编码格式。
    GBK:            编码能够表示繁体字和简体字。
    GB2312:    只能表示简体字。
    按照包含汉字范围排序 GB18030 > GBK > GB2312

Get请求,Post请求乱码问题解决方案

之所以出现乱码,主要是由于编码和解码采用的方法不同。 因此保证编码解码格式一致是避免乱码发生的重要前提。 问题背景:JavaWeb技术下,Tomcat作为容器,发送请求的时候出现乱码问题。...
  • u014424628
  • u014424628
  • 2015年09月07日 00:41
  • 8296

关于使用libcurl下载网页源码中文乱码问题!

近日使用了libcurl这个库,功能强大、使用方便就不多说了。在使用过程中还是遇到挺多的问题的,无奈libcurl开发文档(貌似没有,index.html也没有错误解决部分)实在看不懂,因此为一些小问...
  • malihong1
  • malihong1
  • 2016年01月08日 10:37
  • 1523

设置cmd为utf-8编码并通过批处理方式加快开机启动事项

加快启动事项 因为每天开机后总是会启动某些应用,做着重复的事情,所以就想着自动化处理一下。在Windows下面自然就会想到批处理bat,就在网上找了一下,下面是最终采用的版本: echo 正在启动服务...
  • simple_the_best
  • simple_the_best
  • 2015年10月27日 20:21
  • 5238

spring boot 使用fastjson 处理json数据中文乱码 默认使用 ISO-8859-1编码格式

1、加入fastjson maven 依赖包 com.alibaba fastjson 1.2.30 ...
  • userrefister
  • userrefister
  • 2017年06月14日 10:42
  • 1756

修改Eclipse编码格式及JSP页面乱码的处理

本文转载自: 百度经验:修改Eclipse编码格式 Eclipse中JSP页面的乱码 1、修改Eclipse编码格式 2、JSP页面乱码的处理 (1)选择...
  • gongxifacai_believe
  • gongxifacai_believe
  • 2016年05月16日 22:04
  • 285

总结---如何处理Mysql乱码, Mysql修改编码格式

安装MySQL之后修改编码方式 MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。 1、需要以root用户身份登陆才可以查看数据库编...
  • Black_ChramHeiMei
  • Black_ChramHeiMei
  • 2014年06月13日 15:04
  • 397

解决docker容器中文乱码,修改docker容器编码格式

[原文链接]http://www.cnblogs.com/z-belief/p/6148463.html前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英...
  • u011077672
  • u011077672
  • 2017年04月24日 09:56
  • 1481

常见的编码格式/txt文件乱码

常见的编码格式  比较常见的编码格式大体上可以分为ASCII编码和Unicode编码。 ASCII编码 ASCII编码:是出现最早的编码格式。属于单字节编码ASCII码使用7bit表示一个字符,共1...
  • G1248019684
  • G1248019684
  • 2016年01月29日 09:16
  • 4355

myeclipse修改乱码(编码格式修改)

一、设置新建常见文件的默认编码格式,也就是文件保存的格式。  在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP...
  • jokelyli
  • jokelyli
  • 2014年03月04日 14:43
  • 367

myeclipse修改乱码(编码格式修改)

--转载自博客园-nicesoft小编 一、设置新建常见文件的默认编码格式,也就是文件保存的格式。  在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如wi...
  • wcy_1011
  • wcy_1011
  • 2015年07月15日 10:06
  • 316
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:乱码处理及编码格式
举报原因:
原因补充:

(最多只允许输入30个字)