2013-10-02 26 views
8

我有任何信息存儲在數據庫中的svg格式,如果它的文本我會把它作爲unicode。現在我需要在瀏覽器中正確顯示任何svg文件。如何在SVG中顯示unicode?

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="header" 
viewBox="654.0519483 -714.4517 356.4000564 252"> 
<defs></defs><g id="0" visibility="visible"> 
<text id="gText_11081308229940" name="-1" x="790.251953" y="-631.9517" 
font="Arial" rotate="0" horizAnchor="middle" vertAnchor="middle" scale="4,4" width="1"   stroke="0x000000"> 
\u0048\u0045\u004C\u004C\u004F\u0020\u0057\u004F\u0052\u004C\u0044\u0021\u0021\u0021\u0021  </text> 
</g></svg> 

當我嘗試此代碼時,我得到顯示unicode而不是字母。

+0

你的編碼已經是unicode('encoding =「UTF-8」'),那麼爲什麼你覺得需要插入JavaScript轉義字符? – robertc

+1

我以這種方式從數據庫中獲得它們,我無法改變字符在那裏存儲的方式。 – adelak

+1

然後將它們轉換爲實際的字符數據。 – robertc

回答

9

如果你真的要插入Unicode值,而不僅僅是選擇正確的編碼,並直接把人物在裏面,用的東西,例如你在any other XML document會:

<text id="gText_11081308229940" name="-1" x="790.251953" y="-631.9517" font="Arial" rotate="0" horizAnchor="middle" vertAnchor="middle" scale="4,4" width="1" stroke="0x000000">&#x0048;&#x0045;&#x004C;&#x004C;&#x004F;&#x0020;&#x0057;&#x004F;&#x0052;&#x004C;&#x0044;&#x0021;&#x0021;&#x0021;&#x0021;</text> 

Example

+0

而編碼=「UTF-8」不適合於\ u0048?這麼好的編碼會好嗎? – adelak

+0

@adelak什麼讓你相信UTF-8對於'\ u0048'不是「正確的」?這聽起來不像你理解Unicode代碼點和字符編碼之間的區別。 – robertc

+1

我可以理解,如果編碼沒問題,爲什麼我不能在瀏覽器中顯示它。爲什麼我需要用'&#x0048'替換'\ u0048'。 – adelak

1

只是爲了任何未來的訪客會照顧的情況。這\ u0048或這&#x0048;不是「一個  Unicode(s)」。 Unicode是解釋如何將二進制值編碼爲要顯示的字符的標準。上面的符號更精確的是字符的Unicode轉義序列。當你無法直接輸入Unicode字符時,它們很有用。 (他們在原始問題的例子中使用是毫無意義的。)其中有很多,你不應該混合它們。你可以在這個頁面查找示例:http://billposer.org/Software/ListOfRepresentations.html