我遇到了瑞典語字符(與英語字母表不同)的問題,以及它們如何插入到數據庫中。將字符發送到數據庫時發生字符問題
我使用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