[英]Eclipse javascript character encoding
我想顯示來自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)
提前致謝!
如果請求的響應標頭中不存在c:import
使用服務器平台默認編碼。 而是只使用src
屬性。 Web瀏覽器在這方面更聰明。
<script type="text/javascript" src="/JS/mainJS.js"></script>
(如果您是在固定上下文而不是域根目錄上運行,則如有必要,請刪除斜杠)
如果確實需要使用c:import
(老實說,在這種情況下我看不到任何好處),那么您需要編寫一個偵聽/JS/*
的Filter
,它會設置適當的Content-Type
標頭在響應上使用正確的編碼。 但是,如果它涉及外部URL,則無法使用,這是外部服務器的責任。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.