当进行操作实验时一定要做好备份或者版本控制。
问题起因
Unity3D 创建的脚本文件写入中文无法在文件预览视图正确显示中文。
解决方案
1.更改脚本模板的编码并写入中文
1.进入unity模板文件夹
unity的安装目录\Data\Resources\ScriptTemplates
2.找到C# Script-NewBehaviourScript.cs.txt文件
3.用记事本打开另存为Utf-8,并追加中文文字
如果不追加中文可能造成结果还是ascill编码
2.编写代码编码转换
1.核心代码
//获取当前对象路径
string filePath = "文件路径";
//读取目标数据
byte[] fileBytes = File.ReadAllBytes(filePath);
//创建字符串
StringBuilder context = new StringBuilder();
for (int i = 0,length=fileBytes.Length; i < length; i ++)
{
if (fileBytes[i]< 0 || fileBytes[i] > 127)
{
//中文处理,通过gbk获取正确汉字
context.Append(Encoding.GetEncoding("gbk").GetString(new byte[] { fileBytes[i], fileBytes[i + 1] }));
i++;
}
else
{
//英文直接转化
context.Append(Encoding.Default.GetString(new byte[] { fileBytes[i] }));
}
}
//写回文件
File.WriteAllText(filePath,context.ToString(),Encoding.UTF8);
2.最终效果
3.VS2019+使用EditorConfig配置
创建EditorConfig文件有两种方式:
1.使用VS创建
- 打开添加新项或者通过快捷键CTRL+SHIFT+A
- 搜索editorconfig并添加editorconfig配置文件
2.直接创建文件
- 在Assets同级目录下创建.editorconfig文件。
创建文件后打开文件并在文件中写入charset对应编码。