将 Lua 代码中的中文字符读入后,可以使用 Lua 的字符串操作函数对其进行处理和转换。但是需要注意的是,在读取中文字符时,要正确指定字符编码方式,以避免出现乱码或非预期的结果。此外,还需要注意 Lua 字符串的特殊性质,如长度计算的方式等。

我有以下 XML 文件需要读取:

  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 表?

原文链接 https://stackoverflow.com/questions/10502061

点赞
stackoverflow用户284969
stackoverflow用户284969

我不认为 Lua 是这里的问题。远程站点发送的原始数据使用 UTF-8 编码,并且 Lua 没有对此进行特殊解释 - 这意味着如果你仅仅(1)从远程站点读取,然后(2)将读取的数据保存到文件,则应该完美地保留它。文件中的数据将包含使用 UTF-8 编码的 CJK 字符,就像远程站点返回的一样。

如果您遇到像您提到的那样的有趣结果,则故障可能在于您正在使用的用于从远程站点读取的库,或者可能只是在将结果输出到控制台时您的显示方式。

2012-05-09 04:11:52
stackoverflow用户1297708
stackoverflow用户1297708

我成功将“中美”转化为中文字符。在保存为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(decoded,encoded)方法。在这个方法中,它说

为非标准字符和XML字符实体之间的转换注册一个自定义代码

那么他们所说的非标准字符是指什么?我如何使用它?

2012-05-09 12:06:10