Vb.net 中文/日文提交至StreamWriter
有关问题: 我想从网络资源(jira)获取一些文本。 之后,我使用Vb.net 中文/日文提交至StreamWriter,vb.net,file,unicode,jira,Vb.net,File,Unicode,Jira,有关问题: 我想从网络资源(jira)获取一些文本。 之后,我使用StreamWriter 问题是我从Jira那里获得的以下行(在读入内存后仍然正确(通过调试器验证): 如果我将包含此文本的问题保存到文件中,则该问题位于文件中: <description><p>Deutsch:<br/> Dies ist ein einfacher beispieltext der nur zum spass eingegeben wurde<br/> Japan
StreamWriter
问题是我从Jira那里获得的以下行(在读入内存后仍然正确(通过调试器验证):
如果我将包含此文本的问题保存到文件中,则该问题位于文件中:
<description><p>Deutsch:<br/> Dies ist ein einfacher beispieltext der nur zum spass eingegeben wurde<br/> Japanisch:<br/> ã“ã‚ŒãŒå”¯ä¸€ã®æ¥½ã—ã¿ã®ãŸã‚ã«å…¥åŠ›ã•ã‚ŒãŸãƒ†ã‚ストã®ç°¡å˜ãªä¾‹ã§ã‚ã‚Šã¾ã™<br/> Chinesisch (einfach):<br/> 这是文本的一个简å•çš„例ååªæ˜¯ä¸ºäº†å¥½çŽ©<br/> Chinesisch (Traditionell):<br/> 這是文本的一個簡單的例ååªæ˜¯ç‚ºäº†å¥½çŽ©</p></description>
虽然链接页面上的答案表明UTF8是默认编码,但对我来说并非如此,因为默认编码是:
System.Text.SBCSCodePageEncoding
要解决此问题,只需将所有StreamWriter/Reader更改为显式告诉他们编码样式,即可解决此问题,因为上面的代码只是代替了:
Dim sw As New StreamWriter(OldFilePath, False)
正确的方法是:
Dim sw As New StreamWriter(OldFilePath, False, Encoding.UTF8)
这解决了中文/日文以及其他一些语言和字符的奇怪格式问题
Dim sw As New StreamWriter(OldFilePath, False)
Dim sw As New StreamWriter(OldFilePath, False, Encoding.UTF8)