Unity脚本中文乱码,预览显示INVALID_UTF8_STRING解决办法

脚本中文乱码的原因可能是.cs文件的编码格式不是UTF-8。

1.首先查看项目中有没有对脚本进行保存的方法,如果有的话记得转成UTF-8。

2.如果没有的话,可以手动使用记事本另存为UTF-8编码格式。

3.或者可以写一个方法来统一处理:

using System;
using System.IO;
using System.Text;
using UnityEditor;

public static class ToUTF8
{
    /// 
    /// 把.cs转成UTF-8格式
    /// 
    [MenuItem("Wonderland6627/Convert2UTF8")]
    public static void Convert2UTF8()
    {
        var dir = "Assets/Scripts/";
        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;
            }
        }
    }
}

你可能感兴趣的:(遇到问题的解决方法记录)