Apr 202008
 

Mantisを0.18から1.1系列にアップグレードする際、文字コードをUTF-8に変更した。
しかし、mysqldumpした結果をlv -Iej -Ou8で変換したものをmysqlに投入すると、

Unknown command '\"'

となってしまう。
lvではなくiconvを使ってiconv -f EUC-JP-MS -t UTF-8したところ無事解決したようだ。

ところでmantis_bug_file_tableやmantis_project_file_tableはファイル名部分はEUC-JPからUTF-8に変換が必要なものの、ファイルの内容部分は変換してはいけないので一括iconvな方法は使えない。
こちらはDBのキャラクタセットをUTF-8で作成してあると、INSERT時にSET NAMES eucjpms;をやっておけば、MySQLがきれいに変換してくれるようだ。

$ echo "\
> CREATE DATABASE bugtracker \
> DEFAULT CHARACTER SET = utf8 \
> DEFAULT COLLATE = utf8_unicode_ci" \
> | mysql -u username -p
$ ( echo "SET NAMES eucjpms; \
> cat mantis_bug_file_table.sql ) \
> | mysql -u username -p bugtracker

mantis_bug_file_table.sqlがEUC-JPなMantisなDBからmysqldumpしたデータ。

Sorry, the comment form is closed at this time.