`

网友中文乱码 解决

    博客分类:
  • Java
 
阅读更多

转自 http://sishuok.com/forum/posts/preList/306/428.html

中文乱码:在以后学习过程中全部采用UTF-8
1、文件的乱码
1.1、项目文本文件默认编码:
       【右击项目】->【Properties】->【Resource】->【Text file encoding】     
 
1.2、文件默认编码:默认使用项目的默认编码
     【右击文件】->【Properties】->【Resource】->【Text file encoding】
1.3、 JSP 文件编码:由于 JSP 要翻译为 Servlet
1.3.1、JSP文件编码:
     【右击文件】->【Properties】->【Resource】->【Text file encoding】
1.3.2、JSP翻译为Servlet时的编码:
   <%@ page language="java" pageEncoding="utf-8"%>
中文乱码:在以后学习过程中全部采用UTF-8
2、浏览器和服务器间传输数据的乱码
 
2.1、 浏览器端 编码,一般由服务器端告诉浏览器如何解码数据:
2.1.1、Servlet
          response.setContentType("text/html; charset=UTF-8");
        或者  response.setCharacterEncoding(“UTF-8”);
   2.1.2、JSP
         <%@ page language="java" contentType="text/html; charset=utf-8" %>
   2.1.3、通用
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 
注:浏览器编码可以由我们手工修改,但最后不要这样,一般让浏览器自动选择即可。
中文乱码:在以后学习过程中全部采用UTF-8
2、浏览器和服务器间传输数据的乱码
 
2.2、 服务器端 编码,将客户端传过来的数据进行解码:
      浏览器默认使用ISO-8859-1进行编码数据,然后将数据传输到服务器,因此我们默认只需要将浏览器发送过来的数据转换为我们需要的编码即可。
2.2.1、最简单方式:
    String username = request.getParameter(“username”);
       username = new String(username.getBytes("ISO-8859-1“), "UTF-8");
   2.2.2、比较好的解决方案
      // 必须 在获取参数之前,调用如下方法先解码
       request.setCharacterEncoding(“UTF-8”);
      String username = request.getParameter(“username”);
2.4、比较通用方案:在一个Filter中更改所有请求的编码方式:
    1、在src中添加filter来设置编码格式是中文,filter类可以在tomcat的包里面:apache-tomcat-6.0.16.zip\apache-tomcat-6.0.16\webapps\examples\WEB-INF\classes\filters下面,SetCharacterEncodingFilter.java文件
 
     2 、在 web.xml 中配置 filter ,具体配置如下页:
<filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>filters.SetCharacterEncodingFilter</filter-class>
        <init-param><param-name>encoding</param-name>
                            <param-value>utf-8</param-value></init-param>
</filter>
<filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>
2.5、 GET提交方式中文乱码解决
通过修改request.setCharacterEncoding(“UTF-8”);只能解决POST提交方式的请求编码,对GET无效。
 
     1 、最简单解决方案: 解决方案不再需要任何额外配置(如filter)
           TOMCAT默认ISO-8859-1 因此可以设置默认编码为UTF-8解决,在conf\server.xml文件中设置如下
             <Connector port="8080" protocol="HTTP/1.1"
                                connectionTimeout="20000"
                                redirectPort="8443" URIEncoding=”UTF-8”/>
     2 、在 tomcat4 之后,可以通过如下配置来解决中文乱码,但必须配置 filter
         在conf\server.xml文件中设置如下
                    <Connector port="8080" protocol="HTTP/1.1"
                                        connectionTimeout="20000"
                                        redirectPort="8443" useBodyEncodingForURI=“true”  />
         然后request.setCharacterEncoding(“UTF-8”)也可解决GET乱码
  

 
分享到:
评论

相关推荐

    Matplotlib中文字体配置文件(解决中文乱码)

    该文件可以解决 Matplotlib 中文乱码问题 该方法是通过修改 Matplotlib 的配置文件达到目的 该方法与传统的 Matplotlib 中文乱码 解决方案相同 只是不用自己按照传统步骤去手动修改文件 直接运行本文件就可以了 ...

    解决易语言编程乱码的问题

    解决易语言编程乱码问题具有一定的实用价值,尤其是对于需要在繁体中文环境中部署应用的开发人员。 首先,乱码问题通常是由于字符编码不一致导致的。在计算机中,字符编码是一套用于字符和其数字编码之间相互转换的...

    在CMD中操作mysql数据库出现中文乱码解决方案

    有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 。 其实,只要保证cmd客户端和MySQL两者编码一致即可。 但现实是cmd默认的是gbk(cmd属性可以看到...

    解决Pandas to_json()中文乱码,转化为json数组的问题

    Pandas进行数据处理之后,假如想将其转化为json,会出现一个bug,就是中文文字是以乱码存储的,也就是\uXXXXXX的形式,翻了翻官网文档,查了源码的参数,(多谢网友提醒)需要设置js001 = df1.to_json(force_ascii=False),...

    iis伪静态中文url出现乱码的解决办法

    以下将详细探讨IIS中伪静态中文URL乱码问题的成因及其解决方法。 ### 问题成因分析: 首先,我们需要了解IIS支持两种伪静态插件:IISrewrite_2.0和ISAPI_Rewrite3.x。两者在处理URL编码时有着不同的工作机制。 ##...

    php mssql扩展SQL查询中文字段名解决方法

    当数据库(这里是SQL Server 2000)中的字段名使用中文,并且PHP脚本(可能是UTF-8编码)尝试通过mssql扩展执行查询时,由于编码不匹配,可能会导致中文字段名在SQL语句中被解析为乱码,从而引发错误。PHP的mssql...

    UNIX/LINUX下C语言中文短信UCS2编码和解码函数源码

    发送中文短信,会用到UCS2编码,很多网友反应中文发送和接收乱码,这个烦恼可以解决了。 注意:要在系统配置里增加 LANG=zh_CN.GB18030 export LANG 语言配置不对,这个函数会出错的,另外,例子有点问题,换一个...

    《WordPress 宝典》[PDF]

    不过桑葚网友制作的中文 WordPress 工具箱插件可以解决这个问题。  WordPress 可以说是世界上目前最先进的 weblog 程序。目前开发的程序大多都是根据它仿造的。它更能把握搜索引擎,在你使用 WordPress 并掌握几种...

    JSP显示中文问题的解决方案

    这两天在win98下装apache1.3.9加jserv和gnujsp1.0,jdk1.2.2,jsdk2.0 发现中文无法正常显示。要么乱码,要么出错。 经网友提醒,总结了以下几条方法。 1:修改区域设置:在控制面版中选择区域设置,设为英语(美国)?...

    ASP反编码最新版

    她无汉字乱码问题;无缺少字符问题,而且还原速度快,纯32位软件,无需命令行输入,操作界面简单易用。 本人唯一希望就是使用这个工具的朋友能多提出好的建议与BUG的报告。 本人EMAIL: CN410000@Hotmail.com ...

    局域网共享一键修复支持WIN7

    修正:解决了繁体中文版系统中程序显示乱码的BUG(感谢网友Jay@nfs反馈); ----------------------------------------------------------------------------- 【更新说明】: 2010.12.3 更新:增加了自动判断...

    驰志网络论坛完整版

    原来帖子列表是公告和固定没有明显的区分此次修复了使2个标题的分区点更加明确论坛新增相册功能:论坛增加相册功能网友可以将自己的照片关于数据库压缩:原来的后台有数据库压缩但是原来的数据库压缩在压缩的同时也...

    Linux 收集的从入门到高级的教程

    ),由于是第一次发布资源而且是在linux 系统里发的中文问题没解决好(显示的很正常,一选中复制高亮时就变成乱码了没想到发出来也是乱码;只是文件名变成乱码,内容还没多大问题)。但是貌似不能取消发布的资源啊。...

    添加关键词链接插件WordPress keyword Link

    walklty这位网友使用后发现有写问题,所以,重新找了款内部链接插件WordPress keyword Link,这款插件同样也是国人写的一款自动添加关键词链接的插件,内链优化这类的插件比较多,选这款的原因,主要考虑此插件是...

    传统输入法(输入法的生成器)改进包

    本版支持:一些网友的定制要求解决方法: 1、定制候选框颜色方法: 0x1EB60 : 00005500 00800000 00000000 分别对应“候选、重码、联想”状态的颜色,可以自行修改。 2、字符集只要GB和GBK集方法: 第一步:用...

    免安装Oracle客户端使用PL/SQL连接Oracle的2种方法

    为避免中文乱码问题,需要设置字符集。可以在PL/SQL Developer的安装目录下创建一个批处理文件`pldev.bat`,内容如下: ```plaintext set nls_lang=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK PLSQLDev.exe ``` 这个...

    易语言程序免安装版下载

    OpenGL支持库中的部分英文名称常量已改为中文,并统一在所有常量名称之前加前缀“GL_”,以减少与其它库的冲突机率。 3. 互联网支持库中的“FTP目录列表”命令返回的文件时间改为FTP服务器返回的原始时间,不做...

    EXT教程EXT用大量的实例演示Ext实例

    在Ext使用过程中,可能遇到各种问题,如Ext的收费问题、API文档的查看、在页面中引用Ext、Ext是中文乱码问题、TabPanel的autoLoad属性使用问题等。这些问题的答案在教程中也有详细解答,帮助开发者克服使用中的难题...

    基于hhww改进版的传统五笔输入法(新版支持WIN7)

    本版支持:一些网友的定制要求解决方法: 1、定制候选框颜色方法: 0x1EB60 : 00005500 00800000 00000000 分别对应“候选、重码、联想”状态的颜色,可以自行修改。 2、字符集只要GB和GBK集方法: 第一步:用...

Global site tag (gtag.js) - Google Analytics