带有日文字符的 C# 资源文件

BSF*_*BSF 5 c# resources utf-8

我正在从我的 UI 字符串的资源文件中读取一些日语字符。我手动将它们添加到资源文件中。它们在资源文件中看起来没问题,即使我用 Notepad++ 打开资源文件。但是当我将它们准备好放入我的变量中时,它们就变成了问号。我知道我需要使用 UTF8 编码,但在哪里?

我也在从外部文件(非资源)中读取字符串,UTF8 编码在那里工作得很好。

我怀疑它与 resx 文件中的文化属性有关。我如何将它从“中性”更改为“日语”(或任何需要的)?

这有效(从常规文件中读取):

using (StreamReader sr = new StreamReader(inputxliff))
        {
            data = sr.ReadToEnd();
        }
        inputxliff.Close();
        string filetag = "<file original";
        int mycount = (data.Length - data.Replace(filetag, "").Length) / filetag.Length;
        string header = getBetween(data, "<?", "<file", true, false);
        byte[] bheader = Encoding.UTF8.GetBytes(header);
Run Code Online (Sandbox Code Playgroud)

这不起作用(从 resx 文件读取,实际上它适用于 ENU 和 DEU 但不适用于 JPN):

using (ResXResourceSet resxSet = new ResXResourceSet(mypath + "\\ResourcesJPN.resx"))
        {
            string instructions = resxSet.GetString("instructions");
            byte[] instrBytes = Encoding.UTF8.GetBytes(instructions);
            string myinstructions = Encoding.UTF8.GetString(instrBytes);
Run Code Online (Sandbox Code Playgroud)

我喜欢任何建议。