MySQL

zenテーマのinfoファイルにUTF-8のコードが入っているので注意

Last edited on 06/19/2009 - 21:15

zen テーマの6.x-2.x-devをダウンロードすると、zen.info ファイルの中の settings[zen_breadcrumb_separator] (パンくずリストのセパレータ)の値としてUTF-8のコードで › (e2 80 ba)が入っている。

これのせいで .infoファイルが読み込まれないようでかなり悩んだのだが、もしやと思って、MySQLのsystemテーブルのinfoフィールドの照合順序を調べてみると、果たして ujis_japanese_ci になっていた。

これをutf8_general_ciにすることで、zen テーマの info ファイルをきちんと読み込ませることができた。

MySQLのテーブルの照合順序をUTF-8にする

Last edited on 07/25/2009 - 00:00

コンテンツを作成するときに、英語、日本語以外の文字コードが保存されず、'?' になってしまうことに気がついた。たとえば、ṃ なんていう文字がそうだ。MySQLの文字コードはUTF-8のはずなのにおかしいな、と思って調べてみた。

結論からいうと、node_revisions というテーブルのbodyフィールドの照合順序を utf8_general_ci にすることによって正しく保存されるようになった。body フィールドの照合順序が ujis_japanese_ci になっていたのがまずかった。

mysqldumpでMySQLをバックアップする時のオプション

Last edited on 04/29/2009 - 18:29

さくらインターネットiのMySQLがようやく5.1になるのだ。これから、4月にかけて少しずつ切り替えていくらしい。これでやっとDrupal 6をインストールできるのだ。今から待ち遠しい。

そういうわけで、この週末はローカルのNASにMySQL環境を設定し、さくらインターネットのMySQLのデータを移してきて、Drupal 6の移行の練習をしてみた。けっこうもたついたが、それでもDrupal6が動きだしていろいろ細かい違いなどもわかってきた。

さて、さくらインターネットのMySQLデータベースのバックアップは、mysqldumpを使って定期的に行っている。今回、MySQLのデータを移すのにもmysqldumpのデータを使った。

使い方は、インターネットで検索すればあちこちのページに出ている。私が使っているのは、drupal.org に置いてあるスクリプトだ。このスクリプトではユーザ名、パスワード、ホスト名以外のオプションとして、--add-drop-table を付けている。また、インターネットのいろいろなページを見ると様々なオプションを付けている。

一体何が正解なの?という訳で、調べてみた。

--add-drop-table --add-locks -Q --quick などがよく使われているようだが、
MySQL5.1の場合、http://dev.mysql.com/doc/refman/5.1/ja/mysqldump.html によれば、

コンテンツ配信