Unicode 字符编码问题-保存到Textarea后,字符被替换为随机字符

Unicode 字符编码问题-保存到Textarea后,字符被替换为随机字符,unicode,character-encoding,special-characters,non-ascii-characters,htmlspecialchars,Unicode,Character Encoding,Special Characters,Non Ascii Characters,Htmlspecialchars,我在一家第三方公司工作,我试图/希望在向他们提出问题之前确定字符编码问题的原因 这家公司有一个定制的拖放编辑器,用于在他们的平台上设计网站。在编辑器中,他们有一个原始的HTML小部件,我可以将其拖入并添加我自己的内容。问题是,当我使用inspector工具从某人的旧网站复制HTML并将其粘贴到他们的这个小部件中时,所有撇号&双引号都会被“jibberish”替换。当我尝试将内容粘贴到记事本、记事本++、升华编辑器中,然后将其粘贴到原始HTML编辑器中时,我也遇到了同样的问题 以下是该问题的记录和

我在一家第三方公司工作,我试图/希望在向他们提出问题之前确定字符编码问题的原因

这家公司有一个定制的拖放编辑器,用于在他们的平台上设计网站。在编辑器中,他们有一个原始的HTML小部件,我可以将其拖入并添加我自己的内容。问题是,当我使用inspector工具从某人的旧网站复制HTML并将其粘贴到他们的这个小部件中时,所有撇号&双引号都会被“jibberish”替换。当我尝试将内容粘贴到记事本、记事本++、升华编辑器中,然后将其粘贴到原始HTML编辑器中时,我也遇到了同样的问题

以下是该问题的记录和几个示例:

以下是被替换的已知字符以及它们被替换的内容

'变成–™

“变成了——œ

“变成——”

&加;变成一个空间

Å变成Ã

作为

“保持为”


有没有人看到这些字符的图案,或者知道这些字符被替换的原因是什么?

该网站可能采用UTF-8编码,该公司的编辑可能使用类似Windows-1252编码的东西。在第一个示例中,右单引号具有UTF-8编码e2 80 99。当使用Windows-1252的程序读取这些字节中的每一个时,就会得到带有扬抑符e2、[未定义]80和商标99的小拉丁字母a。我还没有检查其他转换。如果这是问题所在,那么您可以先用iconv将复制的字符转换为目标编码,然后再粘贴到公司的编辑器中。

。在测试从utf-8到windows-1250、2、6、7、8等的转换时,这些更改完全相同。非常感谢!你不知道你刚才帮我省了多少麻烦=d如果他们不能改变编码,怎么解决;我假设是在他们的数据库或编辑器中设置的?我想他们唯一能做的就是对非windows-1252字符进行正则表达式查询/搜索和替换?@BlakeBell。如果他们无法更改应用程序中的编码,他们将无能为力。UTF-8字节将继续作为Windows-1252字节读取。正则表达式搜索字符无效。唯一的解决方法是在粘贴到应用程序之前将UTF-8文本转换为Windows-1252文本。退房