2013-12-20 205 views
0

我不確定以前是否有人問過這個問題,但我沒有找到。雖然我沒有在PDO中設置連接字符集,但表格歸類爲utf8_percian_ci,因此所有數據都以不可讀的字符存儲,如سلام即波斯語中的سلام使用PHP或MySQL轉換utf8字符

在通過將PDT DNS添加mysql:charset=utf8mb4;來設置字符集之前,我能夠正確檢索所有數據,但現在我在瀏覽器中看到سلام而不是سلام

我的網站是博客,現在看來我必須重新輸入所有文本和文章,然後恢復它們才能正確保存。這真是一場災難!

我用mb_detect_encoding()سلام & سلام並發現它們都是UTF-8。搜索「如何將utf8轉換爲utf8?」非常有趣絕對沒有預期的結果。

有沒有辦法使用MySQL將سلام轉換爲سلام?如果沒有,我想另一種方式可能是使用PHP來讀取舊數據,然後再轉換並插入數據庫。

我該怎麼辦?

+0

你試過用utf8_general_ci嗎? –

+0

我試過了。問題不只是輸出編碼 – Omid

+0

@HarshalMahajan不,但我知道只是改變排序規則不會做任何改變。 – Omid

回答

1

你可以簡單地做:

UPDATE my_table SET my_column = BINARY CONVERT(my_column USING latin1) 

(其中latin1是在你的連接設置在插入時的字符集)。