字符集处理: UTF-8
来源:互联网 发布:viscosity mac 怎么用 编辑:程序博客网 时间:2024/06/05 21:18
字符集处理: UTF-8
字符集主要涉及 2 个方面
- 文件本身的字符集(文件,数据库存储使用,返回给浏览器端的 html 内容)
- 程序中编码解码时候使用的字符集(如解析 http 请求的数据)
为了防止乱码,我们规定:所有的字符集都用 UTF-8
。
1. IDEA 里设置字符集
IDEA Encoding
, Project Encoding
, Properties Encoding
都使用 UTF-8,这样 IDEA 里创建的文件都是 UTF-8 编码的,创建 Project 的时候已经设置过了。
2. JSP 中字符集的设置
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
3. HTML 中字符集的设置
<head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/></head>
4. Tomcat 处理 GET 请求的字符集设置
前台网页的 GET 请求以 UTF-8 来解析,pom.xml
里设置 uriEncoding
<!-- Web Server Tomcat --><plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>${tomcat.version}</version> <configuration> <path>/</path> <uriEncoding>UTF-8</uriEncoding> <!--处理 GET 的中文--> </configuration></plugin>
5. Tomcat 处理 POST 请求的字符集设置
前台网页的 POST 请求以 UTF-8 来解析,web.xml
加上字符集的 filter 处理 POST 的中文
<!-- 处理 POST 的中文 --><filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param></filter><filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
6. Freemarker 模版生成文件的字符集设置
在配置 Freemarker 的时候已经设置过了。
<property name="contentType" value="text/html; charset=UTF-8"/>
7. AJAX 返回有乱码?
由处理 @ResponseBody
返回字符串的 MessageConverter 的编码设置造成的,配置 spring-mvc.xml
中的 MessageConverter(去掉mvc:annotation-driven/)
<!-- 默认的注解映射支持 --><!--<mvc:annotation-driven/>--><mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /> </bean> </mvc:message-converters></mvc:annotation-driven>
8. 数据库的字符集设置
创建数据库的时候,选择 Encoding 为 UTF-8
9. 配置 JDBC 连接数据库的字符集为 UTF-8
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
10. 使用 UTF-8 启动 Web Server(Tomcat)
10.1. Unix Like 配置 Tomcat
在 Tomcat 启动文件 catalina.sh
中加一个 -Dfile.encoding=UTF-8
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
10.2. Windows 配置 Tomcat
在 Tomcat 启动文件 catalina.bat
中加一个 -Dfile.encoding=UTF-8
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8"
0 0
- 字符集处理: UTF-8
- UTF-8 字符集基础
- UTF-8 字符集基础
- UTF-8字符集基础
- UTF-8 字符集基础
- UTF-8 字符集基础
- UTF-8 字符集基础
- UTF-8 字符集基础
- 字符集以及UTF-8
- myeclipse字符集改为utf-8
- Console输出UTF-8字符集
- jsp 字符集编码UTF-8
- MySQL 修改UTF-8字符集
- Mac_Mysql设置utf-8字符集
- UTF-8 字符集排序规则
- 修改mysql 字符集 utf-8
- VC中Unicode字符集转UTF-8字符集
- Unicode 字符集及UTF-8 UTF-16编码
- 初步了解了下node.js 一点感受
- 安卓学习笔记三
- hiho #1257(Snake Carpet-贪吃蛇构造题)
- 查看一个.exe文件是32位还是64位的方法
- 毕设第五周(阅读论文:The optimal sequenced route query)
- 字符集处理: UTF-8
- 获取 网页跳转之间的方法
- Bitmap画板
- POJ 1228 Grandpa's Estate (稳定凸包的判定)
- zzulioj 1832: 贪吃的松鼠 (字符串排序)
- JAVA虚拟机之二:Java体系结构
- Android开发-service(一)
- 实现启动界面SplashActivity
- [LeetCode]:Longest Substring Without Repeating Characters