经常被一些编码问题所困扰现在我将所有的编码相关的东西作一个总结,准备发一个下午的时间来好好总结一下,包括HTML中的编码,JSP中的编码,ASP中的编码JS中的编码及应用服务器的编码包括tomcat及resin中的编码还有Myeclipse中的编码等相关的问题,通过此次总结以后就一定要过了这一关!彻底解决乱码问题!
1.研究一下:用EditPlus中写HTML的编码问题
则页面在保存的时候的编码就是是ANSI格式了,
那在保存的时候就是要用UTF-8了。
2.研究一下JS中的编码问题
[如何来获取当前页面的URL呢]
Url = document.location.toString();//获取url
如果我用EditPlus中写了一个JS用的是UTF-8格式保存的话,那如果嵌套到一个HTML中的话
编码如果不对即HTML中我们用的是GB2312就会出现乱码了,所以这个时候要怎么办呢?
这样的话就可以指定它的编码了。
保证了JS是开发是UTF-8现在提取出来还是UTF-8故而没问题了。
3.研究一下JSP中的页面编码问题
页面编码主要有两方面,一是页面本身的编码格式,即以什么编码方式保存,二是客户端浏览器以什么编码格式显示页面。
1. 页面保存编码格式
1). HTML 页面的编码要看你保存文件时的编码选项,多数的网页编辑软件可以让你选择编码的类型,默认为本地编码,为了使网页减少编码的问题,最好保存为 UTF-8 编码格式。
2). JSP 页面使用下列标签指定 JSP 源文件的编码格式,具体来说,我们在JSP源文件头上加入下面的一句即可:
< pageEncoding="xxx"%>,xxx可以为GB2312,GBK,UTF-8(和MySQL不同,MySQL是 UTF8)等等,其默认值为ISO-8859-1。保存文件时的编码应该与xxx 一致。
2. 页面显示编码(通知客户端浏览器用什么字符集编码显示页面)
1).
使用 标签设置页面显示编码
2).
使用 response.setContentType("text/html; charset=xxx");来指定生成的页面编码。
3).
使用 <%@ page language="java" contentType="text/html; charset=xxx"%> 设置页面显示编码。字符集的默认值为ISO-8859-1。
[测试]
如果写一个JSP页面如下
<%@ page language="java" contentType="text/html; charset=gb2312"%>
保存的时候写成是UTF-8格式保存的话就有乱码出现了!
看看哈:
终于出现了这个错误了
500 Servlet Exception
/test.jsp:6: java.io.CharConversionException: illegal utf8 encoding at
0xc4, e3
我的JSP代码是这样写的
<%@ page language="java" contentType="text/html; charset=utf-8"%>
而保存的时候我是用
ANSI格式!
如果用了UTF-8保存的话就又可以了哈!
所以是不是这个问题呢?
[OK!现在来重新写页面吧!看看到底哪个会出现乱码吧!]
阅读(2691) | 评论(0) | 转发(0) |