什么会导致变成unicode角色?

时间:2012-02-09 23:59:22

标签: php mysql

我的网站上有一些文档,用户可以通过富文本编辑器进行编辑,然后保存(到数据库)并打印出来。一些用户遇到了一个问题(仅在现场网站上发生),其中一些角色被搞砸了。我检查了数据库,有趣的人物在数据库中,所以这不是显示问题。它发生在他们保存文档(在网站上提交表单)或者他们在那里放了一些奇怪的东西或他们的浏览器改变了一些字符时。

不断出现的角色是 。它是一个重音A后跟一个空格。查看源HTML,看起来受影响的文档已经转换了所有 个。但每当我尝试它时,它们就会很好。

什么会导致 变成unicode字符,但仅限于有限的情况?

1 个答案:

答案 0 :(得分:4)

将UTF-8编码误解为Latin-1会导致此问题。

>>> u'\xa0'.encode('utf-8').decode('latin-1')
u'\xc2\xa0'
>>> print u'\xa0*'.encode('utf-8').decode('latin-1')
 *