我使用PHP和MySQL保存阿拉伯數據。插入錯誤的編碼後更新MySQL數據庫中的數據
我的數據庫排序規則是:utf8_general_ci
我的數據庫字符集:utf8
起初我並沒有插入之前使數據被插入在數據庫奇怪的字符,但被正確地顯示在使用SET NAMES utf8
我的應用程序。使用SET NAMES utf8
後,數據已正確插入,但舊數據即使在我的應用程序中也不以阿拉伯字符顯示(新數據正常)。
如何更新我的應用程序和MySQL數據庫中所有要用阿拉伯文字母顯示的數據?
更新
當我檢查兩個字符串中使用mb_detect_encoding
功能(我想轉換成插入一個和一個)的編碼,我得到兩個字符串的UTF-是8。
下面是兩個字符串的例子:
文本插入:الإسم بالعربية
我需要轉換爲文本:الإسم بالعربية
見http://stackoverflow.com/questions/279170/utf-8-all-the-way 279279#279279 - 如果這還不夠,請提供一個例子,以及'SELECT col,HEX(col)FROM table WHERE ...'來查看它是否被正確存儲。 –
這是行例如: COL值: 'اÙ「إسÙ...باÙ「عربية' HEX(COL)值:'C398C2A7C399E2809EC398C2A5C398C2B3C399E280A620C398C2A8C398C2A7C399E2809EC398C2B9C398C2B1C398C2A8C399C5A0C398C2A9' –