簡體   English   中英

Eclipse JavaScript字符編碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM