2007/12/19 水曜日

ZencartとWordPressの連携

カテゴリー: MySQL, フリーランス日記 — admin @ 13:32:49 晴のち曇

Zencartの商品データをWordPressで利用するため、一旦ファイルに落として、文字コードを変換して使用することにした。
実は、MySQLには「create table 新しいテーブル名 like 元のテーブル名;」という構文があり、それを使ってコピーすることもできるらしいけど、MySQL上で文字コードを変換する方法を知らないのでこのままで行くことにした。

あとは、データをデータベースに読み込んで、ALTER TABLE 構文を使ってWordPressの投稿用テーブルになるよう修正する。負荷があまり大きくなければ定時更新処理を設定して連携のできあがりのはずだ。

2007/12/18 火曜日

/*!40101 SET NAMES ujis */;

カテゴリー: MySQL — admin @ 10:37:28 晴れ(12/5)

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にデータを流し込めた。

© 2003-2008 Yorinobu Nagata. This website powered by  Convert time: 0.222 sec.