在进一步的文字,我会参考一些字符作为正确的UTF字符,这是UTF-8编码的字符在它的确定形式(á
)和不正确UTF字符,这是相同的,但搞砸了utf-8字符(例如显示为ý
)。奇怪的UTF-8甲基苯丙胺问题
所以,有CMS上运行MAMP - 这是本地开发的网站,客户端。现在,在管理中,我输入正确的utf-8字符。在本地主机上浏览时,它显示为正确的utf-8字符。但是,在utf-8编码的mysql中,它显示为不正确的utf-8字符(在Sequel Pro/phpMyAdmin中)。
当数据库被转移到临时/ dev的服务器,这在MAMP工作非常相同的DB,停止工作,并显示为不正确的 - 就像他们在MAMP输入。
不过,如果我打开临时服务器,输入正确的字符在管理(非常相同的代码),他们不仅显示正常,但他们也保存在MySQL作为正确的字符。
实际上,我震惊了 - 非常相同的代码,非常相同的数据库,它仍然以不同的方式表现。
你有没有发现类似的东西,即你能饶了我的认真细致地翻着几百万不同的切入点,其中UTF-8可以搞砸了的痛苦。
P.S:我认为这可能是甲基苯丙胺相关的(奇怪的UTF-8的设置),而不是严格的应用程序相关。 P.S .:应用程序使用MySQLi,每个文件都是UTF-8编码:/唯一不同的是,在mamp上我只使用host/user mysql连接,而在分段db套接字引入时。
谢谢。
查看服务器和客户端的默认编码设置。例如,在连接到数据库以在运行时设置客户端编码后,您可以在代码中运行“SET NAMES utf8”。 – Fanis 2011-01-13 20:40:53