在Unity3d中常常会碰到中文乱码的问题,好比代码中的[AddComponentMenu("GameDef/AI/战机AI")],注释,中文文本等等工具
其缘由在于,unity自己是不顾及地区的,因此默认所有为unicode编码,形成中文乱码编码
解决方法不少,好比,spa
第一种方法,在数量少的时候可行,数量多的时候就比较耗时和重复3d
第二种方法在项目前期作好的话很是有效,可是若是以前没这么处理就就没什么用了,并且一旦unity版本升级或者使用其余版本,须要从新修改模板code
因此总结起来,能够这样处理:继承
批量编码转换工具代码unicode
使用visual studio建立一个控制台程序string
代码以下it
using System;
using System.IO;
using System.Text;io
namespace ToUTF8
{
class Program
{
static void Main(string[] args)
{
var dir = Directory.GetCurrentDirectory();
foreach (var f in new DirectoryInfo(dir).GetFiles("*.cs", SearchOption.AllDirectories))
{
var s = File.ReadAllText(f.FullName, Encoding.Default);
try
{
File.WriteAllText(f.FullName, s, Encoding.UTF8);
}
catch (Exception)
{
continue;
}
}
}
}
}
编译生成的exe文件放在Unity项目中,双击运行,等待运行便可