Unity大量使用脚本文件,并且自身的Inspector上支持直接预览脚本文件,这是非常好体验。
但笔者遇到一个非常苦恼的事情,就是新建的脚本使用VS编辑输入中文之后,在Unity的Inspector上中文就显示成了乱码,笔者的强迫症实在无法忍受。
于是乎开始寻找解决方法。
第一阶段,从Unity C# Template 模板上开始解决。
通过搜索相关的信息,在百度上找到了一个似乎是解决方法的帖子。
Unity - 创建C#脚本默认编码格式为UTF8
这篇文章通过在Unity C# Template 上添加入中文字符来解决这个问题。
如果在往常也许笔者就此停下来的,但由于目前在做框架方面的练习,立马就想到和如果笔者和他人合作开发,即时笔者自己修改了Unity C# Template 的格式,如果他人不进行修改,那么笔者仍然会遇到Unity Inspector乱码的问题。因此笔者仍然想寻求一种统一的通用的解决方法。
然后,当笔者看到Unity C# Template的文本编码格式为UTF-8时,感觉事情也许并没有那么简单。
于是笔者进行了相关测试,结论就是罪魁祸首是VS!
通过对比VS编辑器创建的文件与通过Unity创建的文件,发现VS创建的文件编码为UTF-8BOM,而Unity创建的文件编码为UTF-8。
在VS为UTF-8BOM的文件添加中文,保存后格式仍然为UTF-8BOM。
在VS为UTF-8的文件添加中文,保存后格式被修改成了ANSI或GB2312。
第二阶段,查找如何设置VS的文件保存格式。
至此,百度已经无法帮我寻找到相关答案了。于是笔者转换战场,通过多次修改搜索关键字后,查询到了以下帖子。
VS saves files without BOM as ANSI instead of UTF-8
至此尝试寻找相关帖子,为VS设置 ”.editorcofnig” 的方式来解决。
在 Visual Studio 中使用 EditorConfig 统一代码风格
EditorConfig 使用详解
在.editorconfig
文件中添加即可。
# All files
[*]
charset = utf-8