2010-09-13 36 views
1

我試圖通過java.properties文件向Web應用程序添加一些文本。我希望文字有一個連字符。如果我添加字符實體,即:在java屬性文件中使用字符實體

myProp=Foo – Bar 

myProp=Foo – Bar 

我得到的代碼在我的輸出。如果將文字字符添加到屬性文件(並保存爲UTF-8):

mProp=Foo – Bar 

我在輸出中獲得文字字符。如何將字符實體添加到輸出?

回答

0

第一個是HTML實體,第二個是XML實體。因此,要將第一個顯示爲短劃線,應該通過HTML文件非顯示它,並將第二個顯示爲短劃線,並且應該通過XML文件非顯示。此外,應該使用適當的工具來顯示文件,在這種情況下可以是網頁瀏覽器。

您是否使用正確的工具在非HTML/XML文件中顯示它未轉義?

要確定是否它轉義或轉義,在網頁瀏覽器中右擊頁面,選擇查看源,你應該檢查第一符號是被轉義爲&amp;這會分別落得像&amp;ndash;&amp;#8211;。如何避免轉義取決於您用來顯示它的視圖技術。如果它是例如JSP/JSTL <c:out>,那麼您應該設置escapeXml="false"屬性。

1

Properties類的load(InputStream)方法始終將文本文件解碼爲ISO-8859-1。它不會「知道」編輯器在保存文件時使用的編碼。

您可以使用正確的字符編碼創建自己的Reader,並改爲使用load(Reader)方法。

或者,您可以堅持使用ISO-8859-1並使用Unicode轉義符(\uXXXX,例如「\ u8211」而不是「–」)轉義來自其他字符集的字符。

+0

這並不能解釋他如何在文字短劃線的輸出中獲得文字字符。 – BalusC 2010-09-13 21:43:40

相關問題