Unity3D 解决c#脚本乱码
怀着无比激动的心情下载了Unity3D,按照网上的教程试着制作我的第一个U3D“作品”:camera绑定绘制GUI显示“Hello, World”,很简单的例子,因此很快就弄完顺利运行,可是我想试试中文字符的,原以为不会出问题,可是真的出问题了:在u3d运行时显示乱码。自己顺藤摸瓜,通过修改u3d的c#代码模板顺利解决问题:
① 定位到:Unity\Editor\Data\Resources\ScriptTemplates
② 用EditPlus打开:81-C# Script-NewBehaviourScript.cs.txt
③ 另存为UTF-8编码(默认为UTF-8 + BOM)
运行如下:
科普:
其实这个问题当时在Python2.7读取含有中文字符的txt时也遇到过,没记错的话,那时候我在WIN7 64位下用系统自带的记事本保存成UTF-8,实际都是带BOM的。
那么什么是BOM呢?BOM(byte order mark)是为UTF-16和UTF-32准备的,用于标记字节序(byte order)。微软在 UTF-8 中使用 BOM 是因为这样可以把UTF-8和ASCII等编码明确区分开。但是,不含 BOM的UTF-8才是标准形式!!
作者:Noah Zhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
posted on 2014-09-20 23:51 Noah.Zhang 阅读(2342) 评论(0) 编辑 收藏 举报