前些年在实际项目中还遇到过更奇葩的情况,文章保存之后,内容中的问号就全都没了。后来发现是别人也遇到了空格变问号的问题,但选错了解决方案,他是直接把问号又替换成空格,结果正常的问号也被毙掉了。
正确方法是,用 UTF-8 格式的编码进行替换,把那个特殊的空格替换为普通的空格,如果是 HTML 字符串,那就替换为 。C# 代码替换 HTML 字符串的示例如下:
byte[] space = new byte[]{0xc2,0xa0}; string utfSpace = Encoding.GetEncoding("UTF-8").GetString(space); htmlStr = htmlStr.Replace(utfSpace," ");注意:在替换之前不能进行编码转换,一定要继续使用 UTF-8 编码。如果已经转换成其它编码,那就彻底没救了,因为这时候错误的问号和正常的问号之间已经没有分别了。
本文链接:
版权声明:本文为博客园博主 韩宗泽 原创,作者保留署名权!欢迎通过转载、演绎或其它传播方式来使用本文,但必须在明显位置给出作者署名和本文链接!个人博客,能力有限,若有不当之处,敬请批评指正,谢谢!