【发布时间】:2011-02-21 12:46:31
【问题描述】:
我想从 javascript 中显示一些特定于语言的字符,但我不能。
我的应用是 Java webapp,前端是 jQuery。从服务器发送的所有字符(在 JSP 中或使用 AJAX)都可以正确显示。当我想在 javascript 文件中显示一些硬编码的文本时,它被破坏了。
我正在使用 Eclipse。在我使用的 JSP 标头中:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
我也试过这个(脚本元素中的字符集):
<script type="text/javascript" charset="utf-8"><c:import url="/JS/mainJS.js" /></script>
在我的 Eclipse 中,我将项目属性/文本文件编码设置为 UTF-8,并且我检查了 JS 文件的资源属性/文本文件编码也是 UTF-8。
但是当我尝试这个时:
$.test = function(){
var s = "éééáááűűűű";
alert(s);
}
我明白了:
éééáááűűűű
奇怪的是:当我尝试使用单独的 html 文件(在同一个项目中)时,它正在工作:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style type="text/css">
body {background: #c0c0c0;}
</style>
<script type="text/javascript">
$(document).ready(function(){
var s = "éááűűúúú";
$("#console").text(s);
alert(s);
})
</script>
</head>
<body>
<div id="console"></div>
</body>
</html>
即使我不使用任何内容类型和页面编码设置。
有什么问题?我该怎么办? (我使用的是集成在 Eclipse 中的 Apache Tomcat)
提前致谢!
【问题讨论】:
-
您是否使用任何处理 html 的过滤器?如果使用 script 标签而不是 c:import 来导入 js 文件会发生什么?
标签: java javascript jsp character-encoding jstl