2012-05-08 30 views
1

我有以下的XML我想讀:LUA讀中國字

  1. 中國XML - https://news.google.com/news/popular?ned=cn&topic=po&output=rss
  2. 韓國XML - http://www.voanews.com/templates/Articles.rss?sectionPath=/korean/news

目前,我嘗試使用luaxml解析包含漢字的xml。但是,當我使用控制檯打印出來時,結果是中文字符無法正確打印並顯示爲垃圾字符。

我想問一下是否有無論如何解析一箇中國人或朝鮮文字到LUA表?

+0

您的控制檯是否支持中文字符? – Mud

+0

管理解決它。結果發現控制檯,我需要將unicode設置爲65001.但是,當我嘗試將xml讀入表並將其輸出回xml時,它無法顯示中文字符。相反,中國人的性格,它顯示了一系列「ä ¸ ­ ç ¾ Ž」。任何可以顯示漢字的方法? – ktlim

+0

這些是XML轉義代碼。任何*應用程序*使用XML應該知道如何解碼這些代碼。如果您在瀏覽器中打開XML,它是否顯示正確? – Robin

回答

0

我設法轉換 「ä ¸ ­ ç ¾ Ž」 成中國字。 我需要做一個額外的步驟,必須在保存爲xml格式之前,通過此鏈接使用此方法將所有系列字符串轉換爲http://forum.luahub.com/index.php?topic=3617.msg8595#msg8595

string.gsub(l,"&#([0-9]+);", function(c) return string.char(tonumber(c)) end) 

我想問的LuaXML,我也碰到過這種方法xml.registerCode(解碼,編碼)

根據該方法,它說,

registers a custom code for the conversion between non-standard characters and XML character entities 

那她們穿由非標準字符表示,我如何使用它?

0

我不認爲Lua是這裏的問題。遠程站點發送的原始數據是使用UTF-8,和Lua這是否—這意味着它沒有特別的解釋應該可以完美,如果你只是(1)從遠程站點讀取保存編碼,和(2)保存讀取數據到一個文件。文件中的數據將包含以UTF-8編碼的CJK字符,就像遠程站點發回一樣。

如果你得到有趣的結果就像你提到的,故障可能出要麼你正在使用從遠程站點閱讀,或者簡單地用你的方式控制檯顯示結果,當你輸出它的圖書館。

+0

到目前爲止,我嘗試的是從網站讀入,然後我輸出一個文本文件和文本文件並輸出回XML。當我查看文本時,我已經保存了,它可以存儲中文字符,但是當我讀取文本並將其保存回xml時,漢字不能顯示,中文字符被替換爲一系列引號我前面提到過。 – ktlim

+0

當你說「讀取文本並保存回xml」時,你到底在幹什麼? [當你從網站獲取文本時,文本是以xml形式_already_,所以...]你需要提供一些關於你的代碼的更多細節...... – snogglethorpe