我目前正在使用MySQL數據庫,而維護數據庫的前一個人已將字符集從ISO-8859-1更改爲UTF-8。現在有一個問題,每個ä變成ä。現在我編寫了代碼來更改整個數據庫中的所有記錄。但顯然有一些詞語被正確書寫。 因此,例如,你有一個像Pöytäkrono
這樣的詞和Sisäänkirjautuminen
這樣的詞。 如果我使用iconv('UTF-8', 'ISO-8859-1', Pöytäkrono)
它會給Pöytäkrono
, ,但是當我使用iconv('UTF-8', 'ISO-8859-1', Sisäänkirjautuminen)
它會給S
。 由於數據庫相當大,我想自動完成,但我不希望那些拼寫/寫入的單詞只能更改爲錯誤的單詞。如何在不更改正確的情況下使用php更改mysql數據庫的字符集?
0
A
回答
0
您可以像更改數據庫存儲編碼一樣工作,數據庫以UTF-8存儲字符串。這本身並不會爲你購買任何東西。
不過的事情,也需要改變:
文本編輯編碼需要設置爲UTF-8。直接在源代碼中使用PHP字符串的文本編輯器已經設置了編碼。
數據庫< - > php 傳輸編碼,它可能不存在於您的代碼中,因爲它默認爲ISO-8859-1。對於UTF-8,您在查詢之前需要明確呼叫
mysql_set_charset("utf8")
。- 網站編碼聲明,默認爲ISO-8859-1。您需要明確呼叫
header("Content-Type: text/html; charset=UTF-8")
或配置例如apache自動執行。
+0
但UTF-8存在無法存儲或顯示ä或ö的問題,我用一個正則表達式解決了這個問題:$ regex =「(([ÄàÄ°-zA-Z0-9] * + \ s *) +)「;這會照顧正確顯示的值,但仍然可以更改錯誤的值。 – user1806834
相關問題
- 1. 在不更改數據庫的情況下更改模型?
- 2. 如何在數據庫值更改的情況下更新ListView?
- 3. 如何在不更改憑據的情況下更新用戶
- 4. 你可以在不更改數據庫wordpress的情況下更改域名嗎?
- 5. 如何在不更改數據的情況下更改表格編碼?
- 6. 如何更改mysql數據庫中的字符集
- 7. Mysql更改默認表字符集到數據庫字符集
- 8. 如何在不更改當前內容的情況下更改NSTextView的字體?
- 9. 如何在不中斷PHP的情況下更改我的DocumentRoot?
- 10. 在不使用數據庫的情況下在gridview中進行更改
- 11. 在不修改舊數據的情況下更新數據
- 12. 如何在不使用`Application:didFinishLaunchingWithOptions:`的情況下更改導航欄?
- 13. 如何在不使用DOM的情況下更改Class
- 14. 如何在不使用DrawableGameComponent的情況下更改DrawOrder
- 15. 在不使用PHP的情況下更改MySQL查詢的輸出結構
- 16. 如何在不更改數據庫結構的情況下提高Mysql數據庫性能
- 17. 如何在不刪除數據庫的情況下更改模型?
- 18. 的Rails 3:更改字符集和現有的MySQL數據庫
- 19. 如何在不知道的情況下更改對數據庫所做更改的TClientDataSet?
- 20. 如何在不更改版本的情況下更新nuget
- 21. 如何在不更改rowversion的情況下更新記錄
- 22. KoGrid如何在數據更改的情況下刷新網格
- 23. Prestashop在不更改密碼的情況下通過webservice更改僱主數據
- 24. 在不更改資源名稱的情況下更改URL
- 25. 在不更改模式的情況下更改班級
- 26. 更改MySQL數據庫的字符集來到SELECT問題?
- 27. 更改mysql數據庫的字符集和排序規則
- 28. 更改現有MySQL數據庫上的字符集
- 29. 如何在不停止程序的情況下更改參數
- 30. 如何在使用hibernate的情況下使用更新,我不確定哪些字段會被更改?
MySQL只是其中一個角色。查看[UTF-8所有方式](http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –
因此,您的數據庫中有一些*數據up編碼,你有*一些*數據是正確的?或者[在Web應用程序中處理Unicode Front To Back](http://kunststube.net/frontback/)有幫助嗎? – deceze