理清web开发中文乱码

我之前hl学长自己整理的pdf内容,觉得不错就弄到csdn上了。


使用Eclipse开发web项目时,经常会出现中文乱码问题,所有需要将全局编码统一为UTF­-8。

常见的编码有:

1.ASCII码:美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显 示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
2.ISO­8859­1:对于ASCII的扩展,涵盖很多西欧语言字符,单字节编码
3.GB2312:双字节中文编码集,基本涵盖汉字
4.GBK:对于GB2312的扩展,与GB2312兼容
5.UTF­8/16:Unicode统一码,也是使用最多的编码,不论什么字符都可以用两个字节表 示,简化高效,由ISO创建,试图翻译所有世界上的语言

WEB项目中常见的编码设置含义

  • pageEncoding=“GBK” //通知JSP编译器,将jsp文件转换为java文件的编码,也就是jsp文
    件自身的编码
  • charset=“UTF‐8” //设置服务器响应时重新编码(字节到字符)使用的编码集,即服务器
    发送给客户端内容的编码
  • request.setCharacterEncoding(“gb2312”); //设置接收请求内容使用的编码集
  • response.setContentType(“text/xml;charset=gb2312”); //指定 HTTP 响应的编
    码,同时指定了浏览器显示的编码
  • response.setCharacterEncoding(“gb2312”);//设置HTTP 响应的编码,如果之前使用response.setContentType设置了编码格式,则使用response.setCharacterEncoding指定的编码格式覆盖之前的设置

全局编码统一需要做以下工作:

  1. 设置workspace编码格式为UTF­8
  2. 设置html、CSS、js、xml、java、 properties文件的编码为UTF­8
  3. 设置tomcat中server.xml的URIEncoding编码为UTF­8
  4. 设置数据库的编码为UTF­8

修改过程

  1. Eclipse→Window→Preferences→General→Workspace→Text file encoding(改成UTF­8)

  2. Eclipse→Window→Preferences→General→Content Types→Text( 下 面的 html、CSS、js、xml、java、 properties 等都改成UTF­8)

  3. Eclipse→Window→Preferences→Web(下面的 html、CSS、jsp等都改成UTF­ 8)

  4. Eclipse→Window→Preferences→XML(下面的XML Files 改成UTF­8)

  5. 修改tomcat中server.xml的URIEncoding

<Connector URIEncoding="UTF‐8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector URIEncoding="UTF‐8" port="8009" protocol="AJP/1.3" redirectPort="8443"/>
  1. 数据库在创建时指定编码为UTF­8即可

代码解决中文乱码问题:

  1. HTML:<meta charset="UTF‐8">
  2. jsp:
<%@ page language="java" contentType="text/html; charset=UTF‐8" pageEncoding="UTF‐8"%>
<meta http‐equiv="Content‐Type" content="text/html; charset=UTF‐8">
<%	request.setCharacterEncoding("UTF‐8"); %>
<%response.setCharacterEncoding("UTF‐8"); response.setContentType("text/html;charset=UTF‐8");%>
  1. mysql:
url="jdbc:mysql://localhost:3306/DB?useUnicode=true & characterEncoding=UTF­8"

如果是xml文件解析的话,注意连接串中的 &需要转义成 &amp

发布了56 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hpccph15/article/details/86774374
今日推荐