MT4.27で制作させていただいたブログにお客様の方から投稿したところ─が?で表示されてしまうという事象が報告された。
いろいろと調べてみるとMySQLのデータベースの照会順序という問題にたどり着いた。
この照会順序をujis_japanese_ciからutf8_general_ciに変更すれば良いわけだ。
ただ、お客様が使用しているサーバにはphpMyAdminが設定されていなく、独自に開発したようなMySQLの管理画面がある。結構使いにくい。
そのMySQLの管理画面には「SQLの参照」という窓があってSQLの問い合わせが出来るようになっている。
以下その手順について記述する。
まず、MTで動いているデータベースの照会順序が本当にujis_japanese_ciになっているかをSQLで確認する。
show table status like 'mt_entry';
↑mt_entryのテーブルステイタスを表示しなさい。
結果として出てきたCollationの値は確かにujis_japanese_ciと表示された。
で、この値を変更する。
ALTER TABLE mt_entry CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
↑mt_entryテーブルのCHARAセットをutf8でCOLLATEをutf8_general_ciへ変更しなさい。
結果として出てきた値はOKのみ。
再度
show table status like 'mt_entry';
↑mt_entryのテーブルステイタスを表示しなさい。
と問い合わせてみると、Collationの値はutf8_general_ciと表示された。
う~ん、phpMyAdminがあれば視覚的に操作できたのに残念だ。
SQLの問い合わせって何気にドキドキするし。
過去の投稿分は変更できないということだったので、手直しを実施し、お客様に報告した。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+