相信很多人在Web开发中都遇到过中文乱码,我也曾为此痛苦不堪。下面结合我的经验谈一下简单的解决方法。
总的原则,页面文件保存时的编码、页面(浏览器)解释时用的编码、数据库编码这三种编码要一致
。下面以UTF-8为例:
第一步:
将所有页面(.html .php等)保存时的编码类型选为UTF-8,假设用的是EditPlus,选文件—>另存为,在弹出的对话框的最下面的编码选择中选择UTF-8。
第二步:
如果是html文件,请在head中加一条meta信息指定编码,例如:
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
如果是动态文件(.php .jsp等),请根据相应语法指定浏览器解释用的编码。
例如对于php加入如下头信息:
<?php header("Content-Type: text/html; charset=utf-8");?>
对于jsp则如下指定:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
如果用了servlet,请在servlet中也指定编码,例如:
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
第三步:
确保数据库的表编码与存取数据时的编码为UTF-8,例如对于MySQL,在数据库建表时请指定编码:
CREATE TABLE xx
(
xx varchar(20) not null,
primary key(xx)
)TYPE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
请特别注意建表语句最后的CHARACTER SET部分
,就是指定数据表的编码需要的语句。
在存取数据时,也请注意指定编码,例如用php存取mysql表数据,请在存取前统一加上:
mysql_query("SET NAMES utf8");
OK,经过以上三步,应该说99%的中文乱码问题都解决了,在此补充一点,对于用get方法传送的中文参数(URL中带有的中文参数),也要注意编码的转换,在传输前先将中文参数编码,在接收后再将参数解码。例如在java中可以这样做:
//传送之前编码
query?name=<%=java.net.URLEncoder.encode(name,"utf-8")%>
//接收之后解码
String name = request.getParameter("name");
name = new String(name.getBytes("ISO8859_1"), "utf-8");
至此,我觉得99.9%的乱码问题应该解决了,反正我只碰见过这些问题,如果你还有问题,不妨和我交流:)
分享到:
相关推荐
Java WEB开发中的中文乱码问题解决方法.pdf
解决Java_Web开发中Jsp存储读取MySQL数据中文乱码的问题
解决jsp+servlet开发中的中文乱码问题
简单可靠的filter源码和详细配置,轻松解决web中文乱码问题,web开发者必备神器你值得拥有!
在利用Servlet/JSP技术开发java Web应用程序的时候,不可避免的会遇到中文乱码问题,本文首先介绍了Web应用中常用的编码方式,然后分析了J2EE平台下Web应用中文乱码问题产生的原因,并在此基础上针对不同情况提出了解决...
Web开发中文乱码问题的研究与解决 Web开发中文乱码问题的研究与解决
教学案例:解决中文输出乱码问题 1.所属课程: Java Web开发技术 2.相关技能点 HttpServletResponse setCharacterEncoding(String charset) setHeader(String name,String value) setContentType(String type) 2.训练...
介绍解决java web 开发解决中文乱码问题的一般方法
Java Web程序开发中字符乱码的原因与解决办法.pdf
解决在javaweb开发的过程中遇到的乱码问题,纯属个人在学习中的总结。
解决web项目开发中常见的中文乱码问题.pdf
从介绍java常用字符编码集入手,详细分析了在java Web开发中产生中文乱码的原因,并针对原因提出了可行性解决方法。
解决web开发中中文乱码的解决方案,交流可以回复
对Java Web应用开发中的中文乱码问题的研究与解决
在进行java Web开发的过程中,由于采用的编码和解码的方式不统一,经常会出现乱码问题。文中首先介绍了java Web的编码机制及JSP运行原理,继而阐述了在开发过程中常见的乱码问题及解决方案,最后提出采用过滤器重写...
在利用JSP/Servlet技术开发java Web应用程序的时候,经常会遇到中文乱码问题,本文首先介绍了Web应用中常见的编码方式,然后分析了J2EE平台下Web应用中文乱码产生的原因,并针对不同情况给出了解决方法。
解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题.pdf
java web开发中服务器推送pushlet.jar解决中文乱码