C# 写入文件的结果是方块
对于我的测试数据,我使用以下字符:C# 写入文件的结果是方块,c#,asp.net,text,encoding,utf-8,C#,Asp.net,Text,Encoding,Utf 8,对于我的测试数据,我使用以下字符: 漢字仮名交じり文 我编写文件的代码是: // Create license key file if (!File.Exists(Settings.LicenseFilesLocation + "/" + EmailAddress + "/" + LicenseFileName)) { HttpContext.Current.Response.Write(Name.Normalize()); HttpContext.Current.Respon
漢字仮名交じり文
我编写文件的代码是:
// Create license key file
if (!File.Exists(Settings.LicenseFilesLocation + "/" + EmailAddress + "/" + LicenseFileName))
{
HttpContext.Current.Response.Write(Name.Normalize());
HttpContext.Current.Response.End();
// UTF-8
StreamWriter License = File.CreateText(Settings.LicenseFilesLocation + "/" + EmailAddress + "/" + LicenseFileName);
License.WriteLine("Licensed to: " + Name.Normalize());
License.Flush();
License.Close();
如您所见,我正在打印值,然后将其保存到文件以进行检查,并且打印正确。然而,当我在记事本中打开保存的文本文件时,它显示为许多正方形(参见屏幕截图):
当我复制和粘贴这些字符时,它们会按照以下方式正确复制和粘贴:
漢字仮名交じり文
我们有很多客户说,他们的许可证文件的名称用正方形表示,这是他们不喜欢的。我们打开并验证此文件的软件程序也将其名称显示为正方形
有没有办法解决这个问题?我们希望这样,当客户打开他们的许可证txt文件时,它会显示他们的全名,不带方框。这个问题有两个原因:
编辑:作为旁注,理解这个笑话对你也有好处。谢谢你的回复,我觉得我正在将它编码为UTF8?@Tom Gullen,UTF8应该可以,所以你遇到了问题2——你的字体无法呈现字符。记事本设置为Arial,如果我设置为ConsoleAS(与上述问题中显示的字符字体相同)它们仍然显示为Notepadah中的方框“Adobe Ming Std”似乎显示得很好。这似乎是正确的答案,谢谢。