Lua表中的拉丁字符

3

我是一名新手,刚接触Lua编程,但在搜索引擎上并没有找到解决办法或者回答我能否实现下面的需求。

我有一个表格,如下所示,其中键值含有í字符:

DB = {
    ["Vigía"] = 112
}

如果我尝试从表中检索该值,它会返回 nil

我尝试删除 í 字符,然后可以获取值112。

在这种情况下,我可以使用拉丁字符作为键吗?

谢谢!


你是如何获取这个值的?使用没有重音符号的“Vigia”将不起作用,但如果有重音符号,则应该可以。 - Colonel Thirty Two
我使用带有重音符号的 DB["Vigía"],但是返回 null。然而,如果我将其重命名为 Vigia,然后尝试 DB["Vigia"],它可以正常工作。但在这种情况下,我需要保留重音符号。谢谢。 - maqjav
1个回答

6
你应该能够做到,但是有一些注意事项 (lua-users.org) 我已经在ideone上运行了你的代码,它工作正常。也许你的编辑器出了点问题?你使用的Lua版本是什么?
DB = {
    ["Vigía"] = 112
}

print(DB["Vigía"])

print(_VERSION)

结果:

Success time: 0.02 memory: 2540 signal:0
112
Lua 5.1

我正在开发《魔兽世界》的插件,因此我认为如果它对您无效,那可能是游戏本身的问题 :/。感谢您的时间 @Advert。 - maqjav
@maqjav 看起来《魔兽世界》应该支持UTF-8:http://www.wowwiki.com/Localizing_an_addon - Advert
5
我刚找到了问题所在。我太傻了,包含表格的文件是UTF-8编码,但是我检索值的文件是ANSI编码。现在两个文件都是UTF-8编码,它像魅力一样运作!不管怎样还是谢谢! - maqjav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接