我正忙着编写一个字符串。
在邮件发送WS上,我收到一个包含“ ”而不是“é”的错误字符串(这是我在Visual Studio的调试模式中至少看到的)。 该角色来自一些JSON,当将WS输入我的DTO时,该JSON被反序列化。
更改JSON的Content-Type并没有解决问题。 所以我想我会自己更改字符串的编码,因为JSON编码似乎是一个VS反序列化问题(如果你们其中一个人想看看它,我就开始了一个线程here)。
我试过了:
Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding defaultEncoding = Encoding.Default;
byte[] bytes = defaultEncoding.GetBytes(messedUpString);
byte[] isoBytes = Encoding.Convert(defaultEncoding, iso, bytes);
cleanString = iso.GetString(isoBytes);
或者:
byte[] bytes = Encoding.Default.GetBytes(messedUpString);
cleanString = Encoding.UTF8.GetString(bytes);
它并没有真正有效......我摆脱了“ ”字符,这是很好的部分,但我收到的是cleanString“?”而不是预期的“é”,这不是很好,或者至少是预期的行为。
答案 0 :(得分:1)
事实上,我的申请中的每件事情都很好。
我使用SOAPUI进行测试,这是我的错误。 我为我的浏览器下载了一些rest插件,从那里尝试,一切正常。
感谢@MattiVirkkunen提供的帮助