中文乱码问题的常见处理

简介:

总的来说,处理的思想是统一编码为utf-8

一般由如下几种可能的乱码问题:

(1)页面显示中文的乱码

(2)传递参数的中文乱码

(3)国际化资源文件的乱码

 

对于(1) 很简单,只有在页面上设置  pageEncoding="utf-8"就可以了。

对于(2) ,特别是提交中文表单的时候,最容易出现乱码问题。

比如

 

 
 
  1. String username=(String) loginForm.get("username"); 
  2. String password=(String) loginForm.get("password"); 

就是最常见的产生乱码的例子。

解决方法:

Step 1: 到server.xml中,在http端口(一般都是走http协议) 加上一行 URIEncoding="utf-8"

 
 
  1. <Connector port="8080" portocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/> 

Step 2: 编写java 过滤器,在doFilter中加入以下代码:

 

 
 
  1. request.setCharacterEncoding("utf-8"); 
  2. chain.doFilter(request,response); 

Step 3: 在web.xml中加入这个过滤器

 

对于(3),可以用JDK自带的工具native2ascii 来进行转换





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/840631,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
Java Spring
中文乱码处理
中文乱码处理
87 0
|
10天前
|
IDE Java 编译器
关于win10下codeblock的中文乱码问题解决
乱码问题通常是由于不同平台编码不一致导致的。本文介绍了如何在 Code::Blocks 中解决这一问题,具体步骤包括选择编译器、配置编译选项,并添加 `-finput-charset=UTF-8` 和 `-fexec-charset=GBK` 参数。此外,还补充了一些常见的字符集知识。
22 0
|
存储
为什么会有中文乱码?
为什么会有中文乱码?
115 0
中文乱码
中文乱码
144 0
中文乱码
|
应用服务中间件 nginx Docker
中文乱码问题
中文乱码问题
165 0
|
应用服务中间件
中文乱码的原因及解决方法
中文乱码的原因及解决方法
2045 0
中文乱码的原因及解决方法
Notepad++ 出现中文乱码 轻松解决
Notepad++ 出现中文乱码 轻松解决
2353 0
Notepad++ 出现中文乱码 轻松解决
|
JavaScript 前端开发