我从我的数据库中提取了一些内容,当我显示它时,我偶尔会在整个内容中散布一些随机字符。我看到很多空间都在哪里。我也在某些地方“。”
当我在phpMyAdmin中查看时,字符不会出现。如何正确编码内容?这是我在插入内容之前应该做的事情,还是我在显示时所做的事情?
答案 0 :(得分:1)
这是UTF-8被误解为CP1252。确保所有适当的标题都已到位。
>>> print u'’'.encode('cp1252').decode('utf-8')
’
答案 1 :(得分:1)
存储的数据是什么字符集?
例如,如果数据存储为UTF-8,那么在显示数据时,您需要确保页面编码也设置为UTF-8。
如果它存储在其他字符集中,则根据需要设置页面编码。
您可以通过传递适当的标题来执行此操作:
Content-Type: text/html; charset=utf-8
或者让浏览器知道您的文档:
<META http-equiv="Content-Type" content="text/html; charset="utf-8">
在HTML5中:
<meta charset="utf-8" />
答案 2 :(得分:1)
IMO,最好的办法是在你的文件/数据库上使用utf-8(或者至少在所有地方使用相同的编码)。
请检查您的application / config / database.php上$ db ['default'] ['char_set']和$ db ['default'] ['dbcollat']下的内容以及您正在使用的编码在你的views / html中。如果您在PMA上正确看到数据,那么问题可能就在您的视图中。
打印文本时,请尝试使用utf8_encode或utf8_decode。