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

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

来个例子:

print("中文")

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

  涓枃

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

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

ps:

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

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ8AAAA0CAIAAAAbhyqzAAADsElEQVR4nO2cz2rbMBzH9VQ+5EV21Smv0EfwNYe9RDE7DZJDKYPC2KHgS0lLF2hKS0LTdK3WcyA72JF/+mNbZLJlx98POtiWpfgn62NLFi0TAAA3WOgLAKA3wBYAXIEtALgCWwBwRbFlvlwhISHRZLdlvlztAQAqVBhGVWnyJQZAL6HCwBYAqoAtALgCWwBwBbYA4ApsAcAV2AKAK0fZksZRFKf/+cteKvFNGkfsAE86epEgFLClII0jVlxSwhnjse+L9Bt199rwtIEtBZYL8n6RsKXPeLKlGMHwJD+UcKYcKva1QU5RNvCdt/S8NI6iOOa1gXAeMcY417LU03lyCNUaOKknIb+vNI1SRK0NNI8XW9I4yu/wYas4IkTCtfuZFc8rIXWFflLabZGd1/qMyDtt2UvJaIdEVmIEbqkn4VnpvBpbEajSIj5sobsVd5HOoOU59GDo52TZuyXVtq2ByHPKsioqyc5OzEbLTzJeLBVFQIO0Zgt5w9Bz6MM3NDXzlny7JBAhSmO0VmgGXv6iSLgcx7kWAU3Q2kjsMKiQB8yxSmhzar6JFbZYAxHCzKoZiamB22eD0i310VJWBDTJsbbQEUE2otZHUvosXymkd7Lww7CMqvWWw3Z5IEaWEEY7ZLva9wI5y7e829Sm0dqK1gYaB2v5ALgCWwBwBbYA4ApsAcCVY2yZpQ9n59dfvv7odTo7v56lDzSu27v7i8ur5Nt3pMGmi8ur27t7n7b8/P3nZv3Z0L/VaI2b9eds/krjenp+3byJ0NcFQrJ5E4vl2rMtoYPyg2lL6CsC4YEtdmALMIEtdmALMGnWlsVkJNevx9MwER5HpS3TsRJNvjsdM53xVGkCxkaTBf0VmakdB92kQVsWkxHpBdNxr4Q5whb77mIyKlNhMRnlZ07H8KUPNGdLRTfpAS3ZcsjSqgDdpDFb+i1LK7YUeZClHwzUFmOGwRhj9ASftijzGJU8t8MtNSRqe8VAbdkbTaPlNvduyT8GZB8A8qzON9ZgqO4Vg563lDXKvsYWNTQ9UNeRGM3pQWMNhopeMfRvYtZG2dettyhC6JMO53lL8SWs+DoGukBZr8B6i5261UkSmS6D+yyfLNH0q3WGCtby7WAtH5jAFjuwBZjAFjuwBZjAFjuwBZjAFjuwBZj4twV/OwlOEv9/O/n48vHr6e8JpMeXDxrXdvv+vPlAGnjabt992gLAMIEtALhisWW328lDAADJfLna7XbZNpNHM2GQkJBokqoIIf4B81Wnh7Z+bh8AAAAASUVORK5CYII=" alt="" />

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

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

lua中的中文乱码的更多相关文章

  1. MAC下 mysql不能插入中文和中文乱码的问题总结

    MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...

  2. 分布式监控系统Zabbix-3.0.3-完整安装记录(4)-解决zabbix监控图中出现中文乱码问题

    之前部署了Zabbix-3.0.3监控系统,在安装数据库时已经将zabbix库设置了utf-8字符. 首先确定zabbix开启了中文支持功能:登录到zabbix服务器的数据目录下(前面部署的zabbi ...

  3. zabbix解决监控图中出现中文乱码问题

    首先确定zabbix开启了中文支持功能:登录到zabbix服务器的数据目录下(前面部署的zabbix数据目录是/data/www/zabbix),打开 locales.inc.php文件[root@Z ...

  4. Java Web 开发中的中文乱码与解决方式

    乱码产生的原因 不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的.以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器 ...

  5. jquery.ajax的url中传递中文乱码问题的解决方法

    jquery.ajax的url中传递中文乱码问题的解决方法   JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQu ...

  6. 解决loadrunner 脚本和replaylog中的中文乱码问题

    解决loadrunner 脚本和replaylog中的中文乱码问题 解决这个问题必须认识到一个事实就是,loadrunner和测试服务器交换数据使用的是utf8格式,但是展现在replaylog中是使 ...

  7. 解决URL地址中的中文乱码问题的办法

    解决URL地址中的中文乱码问题的办法 引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生 ...

  8. Jsp页面中的中文乱码问题解决

    Jsp页面中的中文乱码问题解决 在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,而浏览 ...

  9. jmeter3.0_bodydata中存在中文乱码

    jmeter3.0_bodydata中存在中文乱码 1.进入jmeter.properties配置文件 找到#jsyntaxtextarea.font.family=Hack ,并将“#”取消并重启j ...

随机推荐

  1. 即时搜索或input实时检测监听输入框变化

    js实现的文本框内容发生改变立马触发事件简单介绍:本章节介绍一下如何在文本框的内容发生变化的时候,立马触发一个事件执行响应的操作,而不是像是keydow或者keyup事件一样,只能够检测通过键盘输入导 ...

  2. linux /proc/meminfo 文件分析(转载)

    cat /proc/meminfo    读出的内核信息进行解释,下篇文章会简单对读出该信息的代码进行简单的分析. # cat /proc/meminfo MemTotal:     kB MemFr ...

  3. Node.js Stream-基础篇

    Node.js Stream - 基础篇 邹斌 ·2016-07-08 11:51 背景 在构建较复杂的系统时,通常将其拆解为功能独立的若干部分.这些部分的接口遵循一定的规范,通过某种方式相连,以共同 ...

  4. Linux入门50指令

    1, mkdir创建目录 make directory 可以带着路径,在什么位置创建什么目录 如:mkdir /etc/date  在目录etc下创建date目录 重要参数 –p 递归创建,mkdir ...

  5. [Python & Machine Learning] 学习笔记之scikit-learn机器学习库

    1. scikit-learn介绍 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上.值得一提的是,scikit-learn最 ...

  6. POJ 2478 Farey Sequence

     名字是法雷数列其实是欧拉phi函数              Farey Sequence Time Limit: 1000MS   Memory Limit: 65536K Total Submi ...

  7. javascript创建对象的一些方式

    通过创建一个Object实例 var person = new Object(); person.name = "zhouquan"; person.age = 21; perso ...

  8. mysql连接超时与jndi数据源配置

    昨天有运营说添加活动不能用了,我就看了一下后台日志,发现访问数据库是报错: at java.lang.Thread.run(Thread.java:722) Caused by: com.mysql. ...

  9. eclipse for php现有项目不能导入问题

    1.少了.project文件 解决办法:创建一个新项目,然后将新项目文件夹下的.project文件复制到将要导入的文件夹中.

  10. BZOJ2006——[NOI2010]超级钢琴

    1.题意:给一个序列,让你取出k个不同的区间,要求长度在之间,问所有区间和的最大值 2.分析:这道题拿过来就能知道是要拿出前k个最大的区间,我们思考最暴力的做法,就是把这个所有的区间枚举出来算,取出前 ...