gpt4 book ai didi

java - Eclipse javascript 字符编码

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:23 24 4
gpt4 key购买 nike

我想从 javascript 显示一些特定于语言的字符,但我不能。

我的应用程序是一个 Java Web 应用程序,前端是 jQuery。从服务器发送的所有字符(在 JSP 中或通过 AJAX)都会正确显示。当我想显示一些硬编码到 JavaScript 文件中的文本时,它被破坏了。

我正在使用 Eclipse。在 JSP 的 header 中我使用:

<%@ 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)

提前致谢!

最佳答案

如果请求的响应 header 中缺少编码,c:import 将使用服务器平台默认编码。相反,只需使用 src 属性即可。网络浏览器在这方面更加智能。

<script type="text/javascript" src="/JS/mainJS.js"></script>

(如果您在固定上下文而不是域根上运行,则如有必要,请删除前导斜杠)

如果您真的非常需要为此使用 c:import (老实说,在这种特定情况下我没有看到任何优势),那么您需要在 /JS/* 上编写一个 Filter 监听,以在响应上使用正确的编码设置适当的 Content-Type header 。但是,如果它涉及外部 URL,则这将不起作用,这是外部服务器的责任。

关于java - Eclipse javascript 字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com