我正在从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);
我喜欢任何建议。