情景:
1.js使用utf-8编码,jsp也使用utf-8编码,jsp文件头如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script language="JavaScript" type="text/JavaScript" src="../../js/jquery-1.2.5.js"></script>
<script language="JavaScript" type="text/JavaScript" src="../../js/x.js"></script>
</head>
… …
也就是说保证了js和jsp使用相同编码
2.js中使用中文alert
$(document).ready(function(){ alert("中国"); });
3.以上内容都包含在一个正常运行的系统里,部署在tomcat
4.当访问jsp是跳出提示框显示乱码
尝试判断原因:
1.新建html,html头配置编码为utf-8,使用原来的js文件,修改内容为alert("中国");
访问html的时候,没有乱码,可以正常输出
由此可见:js文件没有问题,系统浏览器配置没有问题
2.我将workspace中的 .classpath,.seting下所有文件,.project,pom.xml全部对应过,没有任何区别
3.我将两个eclipse的workspace都改成UTF-8编码
以上三种方式都没能解决。
初步原因已经查明:
eclipse显示的js文件的格式其实是不正确的,当我将workspace中所有js文件重新使用notepad++转格式到UTF-8(无dom和有dom都可以)以后,乱码问题解决,至于为什么导致eclipse显示的格式和文本的实际格式不符,原因不明,我猜测是由于我使用的sublcipse和乌龟tortoiseSVN,导致eclipse无法修改js文件的编码格式。
posted on 2010-01-04 15:30
liuyimx 阅读(2338)
评论(0) 编辑 收藏