码迷,mamicode.com
首页 > Web开发 > 详细

web开发中的乱码问题

时间:2014-05-09 02:41:18      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:web   html   乱码   转码   mysql乱码   

乱码问题的根源:(以web程序为例子,eclipse来查看编码,设置UTF-8)

解决方案:所有文件或者字符串的编码方式一致

(1)查看web页面文件的编码方式:

      bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

(2)web页面的<head>写上

         <meta http-equiv="content-type" content="text/html; charset=UTF-8">

(3)特别注意web里面的<form>提交时submit,带有中文的字段会自动转码,以Tomcat为例,会转成“ISO8859-1”方式,所以在接受数据的时候还要继续转回你想要的编码方式

转码方式

public String changeToUTF8(String str) {
		if (str == null) {
			return "";
		}
		try {
			str = new String(str.getBytes("ISO8859-1"), "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			return "";
		}
		return str;
	}

(4)同样的,你处理字符串的代码所在的文件也是要统一编码的

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

(5)最后,在你返回字符串的编码还是要统一

response.setCharacterEncoding("UTF-8");

(6)如果有数据库操作,建表时,里面的字段名要设置为你要的编码,例如

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

(7)数据库的默认编码方式还要注意一下(这种乱码方式不常见,可以忽略),输入show variables likes "char%";来查看

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

总结:乱码出现最多的是<form>提交的时候,往往很多人不知道它会自动转码,就会出现乱码问题,另外可以通过URL加密的方式来解决URL传递中文的时候的乱码问题,本人觉得麻烦,就不介绍了。还有在传递的过程中,可以用拦截器来捕获,来进行转码,这种方式还是觉得有点麻烦,具体去找JSP的书看看拦截器是怎样使用的。我介绍的方法已经可以解决我的乱码问题,而且觉得是比较简单的一种方式。

web开发中的乱码问题,布布扣,bubuko.com

web开发中的乱码问题

标签:web   html   乱码   转码   mysql乱码   

原文地址:http://blog.csdn.net/c764193441/article/details/25337461

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!