[英]system.io.streamwriter on .net compact framework accents
好吧,我正在使用所有这些代码:
// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt");
// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt", false, System.Text.Encoding.GetEncoding(1252));
' Dim objEscritor = New StreamWriter("C:\temp\salida_encoding.txt", True, System.Text.Encoding.Default)
// StreamWriter file = new StreamWriter(AppSettings.Instance.Dpath + "\\notaventa.txt", true, System.Text.Encoding.ASCII);
但没有一个适合打印
坎西翁
大家打印
坎西
我该如何解决? 我在用
紧凑框架3.5
手持式
您可以通过不指定Encoding.ASCII
来修复它。 UTF-8通常是一个不错的选择,尽管它当然取决于要读取文件的内容。 基本上ASCII没有任何带重音的字符。 它停在U + 007E。
我希望Encoding.GetEncoding(1252)
能够正常工作,因为Windows 1252包含字符“ó”。 当您不指定编码时,也与默认值相同,因为它将使用UTF-8。 您确定您的字符串包含正确的开头数据吗? 您还用什么来读取文件?
ASCII不包括对ó
字符的支持。 除非您有其他令人信服的理由,否则应始终使用Unicode:
System.IO.StreamWriter file = new System.IO.StreamWriter(
Path.Combine(AppSettings.Instance.Dpath, "notaventa.txt"), true,
System.Text.Encoding.UTF8);
与您的问题无关:您应使用Path.Combine
(而不是显式字符串串联)来构造文件路径。 这将使您省去确定是否包含前导/后缀\\
的麻烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.