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

时间:2017-10-10 04:21:47

标签: c# utf-8 resources

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

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

我怀疑它与resx文件中的culture属性有关。如何从"中性"更改它?到"日语"(或任何需要的东西)?

这可行(从常规文件中读取):

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);

这不起作用(从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);

我喜欢任何建议。

0 个答案:

没有答案