我有一個(WordPress的)博客,我的一些舊帖子有一個字符編碼問題,其中英鎊顯示爲£(即一個英鎊符號前綴大寫字母'A')。可以使用SQL REPLACE修復字符編碼錯誤嗎?
的問題是在DB的水平,所以我會運行下面的SQL語句:
update wp_posts set post_content = replace(post_content, ‘£’, ‘£’);
這將是愚蠢的?
背景信息(不要求閱讀):
這是怎麼發生的問題?我不知道。這個博客雖然有各種更新(包括從默認表CHARSET從latin1改爲utf8時的Wordpress版本2.1.3),並且已經遷移到各種機器上和從各種機器遷移過來,我想在某些時候,Wordpress必須將UTF-8編碼字符寫入具有latin1的CHARSET的數據庫,反之亦然。我知道我應該更加小心(是的,我已閱讀The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!))。
我怎麼確保這不會再發生?我確定我的編碼是一致的。所有MySQL表使用CHARSET utf-8和博客頁面集的頭部部分<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />