Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ASCII编码将umlauts保存在文本文件中_C#_Encoding - Fatal编程技术网

C# 使用ASCII编码将umlauts保存在文本文件中

C# 使用ASCII编码将umlauts保存在文本文件中,c#,encoding,C#,Encoding,我的代码必须保存字符串,例如带有System.IO.File.writealText的“günther”(文件路径,“günther”,Encoding.ASCII)但却有了G?nther。我做了一些研究,但还不知道如何解决这个问题。似乎没有办法,因为只有ASCII码。但我需要ASCII格式的文本文件,并带有umlaut“ü”。 有什么方法可以做到这一点吗?正如您所说:ASCII中没有umlaut。 如果无法将文件更改为UTF-8,我能想到的唯一可能的方法是将字符串中的“ü”替换为,例如“ue”

我的代码必须保存字符串,例如带有
System.IO.File.writealText的“günther”(文件路径,“günther”,Encoding.ASCII)但却有了G?nther。我做了一些研究,但还不知道如何解决这个问题。似乎没有办法,因为只有ASCII码。但我需要ASCII格式的文本文件,并带有umlaut“ü”。

有什么方法可以做到这一点吗?

正如您所说:ASCII中没有umlaut。
如果无法将文件更改为UTF-8,我能想到的唯一可能的方法是将字符串中的“ü”替换为,例如“ue”。

是字符与编码不匹配时使用的错误字符。为什么不使用UTF8,顺便说一下,这是默认值?如果您坚持使用单字节代码页,请使用与Latin1相对应的Windows-1253
,因为我相应的ERP系统需要ASCII码。我会试试。你的ERP肯定不需要7位ASCII码,除非它是在90年代早期开发的。否则你的公司就不会买了。很可能他们指的是拉丁语。另一方面,自90年代以来,所有ERP都使用Unicode。你想做什么?你的目标是什么ERP?我怀疑实际的需求是将文本文件导入其中。您可以指定在所有ERP中导入时要使用的编码。即使不能,ERP也将使用与机器的区域设置相对应的编码。这是通过,而不是
Encoding.ASCII
@paulvoelker返回的。这是自90年代以来众所周知的,甚至是Windows95指南的一部分。Windows NT和更高版本2000对字符串使用Unicode。当提到
ASCII
时,隐含的代码页是系统(以及以后的用户)的区域设置。永远不要使用7位ASCII。即使是DOS也没有使用这个选项,当人们说ASCII时,他们很少指7位代码页。拉丁语1支持umlauts@goetterkomplex,Yep是唯一的方法。@PanagiotisKanavos:但是对拉丁语1使用ASCII只是为了避免混淆(拉丁语1不是windows“ANSI”(与ANSI无关)。建议的编码后来被改为“拉丁语15”(包括欧元符号)。