我遇到了瑞典语字符(与英语字母表不同)的问题,以及它们如何插入到数据库中。将字符发送到数据库时发生字符问题
我使用osCommerce,iso-8859-1
在管理员和编目页面都设置为字符集。如果我运行SHOW VARIABLES;
,则数据库中的character_set
是latin1
。
而且继承人从的phpinfo一些服务器设置:
iconv.input_encoding ISO-8859-1
iconv.internal_encoding ISO-8859-1
iconv.output_encoding ISO-8859-1
根据主机支持页面的Apache提供在UTF-8
因为默认情况下所有的页面,它可以改变通过在加入
AddDefaultCharset ISO-8859-1
.htaccess
文件。
当我去管理员更新产品在不同的输入字段中的所有字符ar从数据库中传递出来,并显示为他们认为。但是,当我更新产品的所有特殊字符被转换这样的:
- A成为A¥
- A成为澶
- ö成为ö
同样的情况,如果我添加一种新产品。
当我用phpmyadmin查看数据库时会显示“损坏”字符,所以它不仅仅是翻译错误的网页。
我的主机最近annoncet说他们会为php做一些更新,所以我认为它与这个更新有关。这一切在几天前都运行良好。
我不知道我的previos PHP版本,但现在我有5.2.17和MySQL 4.0.27是标准
有人能帮助我在这件事情,并告诉我什么,我需要做的。
有没有简单的解决方案,我需要将数据库和网页转换为UTF-8还是需要做其他事情?
感谢您的回复。如果没有人做任何事情,问题就会消失。所以这都是诡计。 但我发现你的答案很有趣,如果再次出现这个问题,我会尽力确认。 – 2012-04-19 09:49:52
我想它可能很难重现,因为问题可能高度取决于浏览器版本和修补级别 – Joni 2012-04-19 10:02:31