CRONで定時に処理をすることで商品情報をコピーして、そのデータを使いWordPress側でコンテンツを作成することにした。しかし、文字化けが起こる。phpMyAdminでみるとすべて????のようになる。
nkfで文字コードもUTF8に変換しているし、mysqlには–default-character-set=utf8も設定している。DBもUTF8だし、テーブルもすべてUTF8。ほかに何があるかと調べること数時間。
mysqldumpで出力したときに、

/*!40101 SET NAMES ujis */;

こういうSQLも出力されている。一見コメント風なので、見逃していたが、これが有効なら、これ以降はEUCになってしまい、????のような文字化けになる。試しにsedを使い、

sed ‘s/SET NAMES ujis/SET NAMES utf8/g’ data.sql.euc > data.sql.utf8

のように修正して再実行。結果は文字化けなしでDBにデータを流し込めた。

%d人のブロガーが「いいね」をつけました。