解决Unity3D中文乱码问题

时间:2021-12-27 13:05:26

因为u3d 自带的代码编辑器是MonoDevelop,在monodevelop下编写的应用程序,对于中文显示会出现乱码,甚至是编译不过的问题,分析应该在于编码的方式与解码的方式不一致导致。但在发现在游戏里中文输出是变成乱码的,我在想是不是由于编码的问题,于是把文件保存为gb2312格式(也可以用记事本保存)。但发现每次再从u3d界面双击进入编辑器,或者再次保存,又会出现了乱码的问题。我在怀疑可能是文件格式又变成utf8之类的,另存为看一下,果然不出所料啊。
 方法一:  monodevelop默认采用UTF-8编码格式,尝试在记事本下将其另存为unicode。问题得到解决。难道unity3d的解码格式为传统unicode标准。
 方法二:  Unity4.1\Editor\Data\Resources\ScriptTemplates这是我这边的路径,里面的C#和js脚本你改下编码就可以了


unicode 与UTF8的关系:   
     unicode 是一个标准,utf-8 是 unicode 标准里面规定的一个编码。
     unicode 只是个 2 字节的码表

     使用时可以直接使用这个 2 字节的编码,也可以再进行编码后使用

     utf8 就是对 unicode 再编码的方式,好处是 ascii 字符用一个字节表示

如此,可知如果采用unicode码表去对UTF8编码的文件进行解码,那么英文没有问题,中文及符号则会出现乱码。