lua中的中文乱码

最近在用lua, 发现一个有点意思的槽点啊-____-! 那就是lua貌似会使用系统所用的字符集.

具体点说, 就是在windows上, 它会使用cp936来表示代码中的中文.

来个例子:

print("中文")

把这句代码写到文本文件里, 保存的时候选择UTF-8的话, 这时你运行代码, 是会得到下面的中文乱码的:

  涓�枃

但如果你把代码存为ANSI格式, 那么就能得到正确的"中文"了.

所以在使用lua时, 如果代码中含有中文的话, 请留意一下使用的环境.

ps:

为了验证我的想法, 特意在cygwin环境下试了下. 我把环境设置为

此时, 如果运行代码格式为UTF-8的lua代码, 则可以正确输出中文, 如果保存为ANSI格式的话, 则会输出乱码.

不过具体导致这个结果的原因, 可能就需要去瞅下lua的代码了.

原文地址:https://www.cnblogs.com/chaoswong/p/3466878.html