情景:
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" ">
<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 閱讀(2344)
評論(0) 編輯 收藏