之前由于用C#开发服务器,无意间发现VS保存的.cs文件不是UTF8编码的,虽然文件内看着是中文,但服务器传递给客户端的数据不是中文而是乱码。今天就来讲一下如何将VS保存为UTF8。话不多说直接开始。
问题表现
我们拿Unity举例。我们在脚本文件中随便输入点中文,我们这里在代码和注释中都使用了中文。如下图:
但此时看Unity中Inspector中的代码预览显示的却是乱码。如下图:
原因是因为VS采用的不是UTF8编码。
解决办法
这里有两个解决办法,一个是针对单个文件的,另一个是针对整个工程所有文件的。
单个文件设置UTF8
先来介绍第一个针对单个文件设置UTF8的。我们首先要将VS中的 高级保存选项 开启。我们首先要在 工具 (Tools) > 自定义 (Customize) 打开自定义窗口,并切换到 命令 页签。
由于我们希望将 高级保存选项 放置在文件菜单栏下,所以我们可以点击下拉框选择放置文件位置。并通过上移、下移放置到目标位置。大家可以根据自己的需要选择放置。
此时我们就在文件菜单栏中看到了 高级保存选项 ,我们点击打开。
在 高级保存选项 窗口的下拉框中选择UTF8,选择后点确定 即可。
如下图,此时看Unity中显示的就是中文了。但这个方法只对单个文件有效,再创建其他脚本,默认采用的并不是UTF8脚本。
工程所有文件设置UTF8
将工程所有文件默认设置成UTF8编码,需要在项目根目录下创建一个 .editorconfig 文件。如下图:
并在 .editorconfig 文件中添加一下内容,保存后工程会自动应用设置。新创建的文件都会默认为UTF8编码,如果是已有的老文件,只需要重新打开保存一下即可。
root = true[*]
charset = utf-8