中文乱码
来源:互联网 发布:数据库建模关系 编辑:程序博客网 时间:2024/04/18 14:35
中文乱码:在以后学习过程中全部采用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、最简单方式:
Java代码
1.String username = request.getParameter(“username”);
2.username = new String(username.getBytes("ISO-8859-1“), "UTF-8");
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 ,具体配置如下页:
Java代码
1.<filter>
2. <filter-name>Set Character Encoding</filter-name>
3. <filter-class>filters.SetCharacterEncodingFilter</filter-class>
4. <init-param><param-name>encoding</param-name>
5. <param-value>utf-8</param-value></init-param>
6.</filter>
7.<filter-mapping>
8. <filter-name>Set Character Encoding</filter-name>
9. <url-pattern>/*</url-pattern>
10.</filter-mapping>
<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文件中设置如下
Java代码
1.<Connector port="8080" protocol="HTTP/1.1"
2. connectionTimeout="20000"
3. redirectPort="8443" URIEncoding=”UTF-8”/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding=”UTF-8”/>
2 、在 tomcat4 之后,可以通过如下配置来解决中文乱码,但必须配置 filter
在conf\server.xml文件中设置如下
Java代码
1.<Connector port="8080" protocol="HTTP/1.1"
2. connectionTimeout="20000"
3. redirectPort="8443" useBodyEncodingForURI=“true” />
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" useBodyEncodingForURI=“true” />
然后request.setCharacterEncoding(“UTF-8”)也可解决GET乱码
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、最简单方式:
Java代码
1.String username = request.getParameter(“username”);
2.username = new String(username.getBytes("ISO-8859-1“), "UTF-8");
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 ,具体配置如下页:
Java代码
1.<filter>
2. <filter-name>Set Character Encoding</filter-name>
3. <filter-class>filters.SetCharacterEncodingFilter</filter-class>
4. <init-param><param-name>encoding</param-name>
5. <param-value>utf-8</param-value></init-param>
6.</filter>
7.<filter-mapping>
8. <filter-name>Set Character Encoding</filter-name>
9. <url-pattern>/*</url-pattern>
10.</filter-mapping>
<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文件中设置如下
Java代码
1.<Connector port="8080" protocol="HTTP/1.1"
2. connectionTimeout="20000"
3. redirectPort="8443" URIEncoding=”UTF-8”/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding=”UTF-8”/>
2 、在 tomcat4 之后,可以通过如下配置来解决中文乱码,但必须配置 filter
在conf\server.xml文件中设置如下
Java代码
1.<Connector port="8080" protocol="HTTP/1.1"
2. connectionTimeout="20000"
3. redirectPort="8443" useBodyEncodingForURI=“true” />
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" useBodyEncodingForURI=“true” />
然后request.setCharacterEncoding(“UTF-8”)也可解决GET乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- 中文乱码
- Android Recovery模式
- ios 进度条
- 从A表更新数据到B表
- shell常用编程及实例-持续更新中
- 项目发开过程中应该写哪些文档
- 中文乱码
- AJAx 常见概念小结
- win7下关闭 最大化最小化时候的动画
- Android四大应用构件之Service解析
- POJ-2531 Network Saboteur 解题报告
- js document用法
- quart Spring 配置
- 数据库导入导出的问题
- 符合web标准的媒体播放器代码