最近在用lua, 发现一个有点意思的槽点啊-____-! 那就是lua貌似会使用系统所用的字符集.
具体点说, 就是在windows上, 它会使用cp936来表示代码中的中文.
来个例子:
print("中文")
把这句代码写到文本文件里, 保存的时候选择UTF-8的话, 这时你运行代码, 是会得到下面的中文乱码的:
涓�枃
但如果你把代码存为ANSI格式, 那么就能得到正确的"中文"了.
所以在使用lua时, 如果代码中含有中文的话, 请留意一下使用的环境.
ps:
为了验证我的想法, 特意在cygwin环境下试了下. 我把环境设置为
此时, 如果运行代码格式为UTF-8的lua代码, 则可以正确输出中文, 如果保存为ANSI格式的话, 则会输出乱码.
不过具体导致这个结果的原因, 可能就需要去瞅下lua的代码了.