2014-06-11 168 views
1

我在我的行動中有一個列表,我通過值保存在MySql數據庫字段。€符號未定義

我只保存一個對象,其名稱爲

在JSP中,當我這樣做:

<s:iterator value="unitesList"> 
    <s:property value="designation"/> 
</s:iterator> 
<s:select list="unitesList" name="unity" listValue="designation" listKey="id" /> 

我有這樣的:

€ 
<select name="unity" id="unity"> 
    <option value="1">?</option> 
</select> 

爲什麼<s:select>元素的元素在?轉化?

+0

什麼是頁面編碼或內容類型? –

+0

頁面編碼沒有定義 – tviana

+0

@tviana沒有提出答案的任何理由? –

回答

1

將它放置在JSP頁面的頂部。 UTF-8編碼中的符號顯示優於?

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> 
+0

好吧,我明白了,但爲什麼''正確顯示和''不?而這並沒有解決問題。 – tviana

+0

Struts UI標籤在寫入輸出之前將符號轉義。 –

+0

在'<%@ page contentType =「text/html; charset = UTF-8」pageEncoding =「UTF-8」%>'解決方案中還有其他的選擇嗎? – tviana

1

如果沒有定義的頁面編碼,默認值是(在JSP page指令的等價物):

<%@page contentType="text/html; charset=ISO-8859-1" %> 

你想要的編碼不是ISO-8859-1,但UTF-8,支持任何語言(看看Table 23-2 Valid Values for the IANA-Defined Character Set)。

您可以設置頁面,請求和響應的編碼方式有三種:

  1. 在每個JSP設置contentType

    <%@page contentType="text/html; charset=UTF-8" %> 
    
  2. 在每個JSP設置pageEncoding

  3. 設置在web.xml一次:

    <jsp-config> 
        <jsp-property-group> 
         <url-pattern>*.jsp</url-pattern> 
         <page-encoding>UTF-8</page-encoding>    
        </jsp-property-group> 
    </jsp-config> 
    

的HTML <meta>標籤將相應地生成。切記在不必要地使用pageEncoding<jsp-property-group>時不指定不同的編碼,這是一個轉換時錯誤。

欲瞭解更多信息,請閱讀Oracle docs(很舊,但仍然如此)。