波ダッシュ(~)は、
「3日~5日まで」
とか、書く時によく使う。
キーボードから英数半角モードで入力する"~"ではなく、全角日本語モードで入力する"~"です。
実はこの"~"(波ダッシュ)はmovabletypeの編集画面で記事を書いて投稿して、ウェブ上で表示させると文字化けして"?"になってしう。
「3日?5日まで」
こんな感じ。
ちなみにこの環境は、「さくらインターネットのMySQL 5.1」と「Movabletype5」で、どうもMySQL のバージョンが4から5に変わった辺りからこの現象が出た気がする。
もしかするとこの時、旧データベースのデータをエクスポートしてデータベースを削除し、新データベース環境にインポートした時のやり方がまずかったのかもしれない。
で、今まではしかた がないので、
しかし、このコードをよく忘れてしまい"~"の入 力が必要な時は毎回様に調べていた。
文字化けなので文字コードに違いに由来していることは明らかだったが、いままで調べていなかった。
で、 今回phpMyAdminでデータベースに入ってじっくり調べて見るとわかった。
このmovabletypeのタイトル、本文、そして本 文の続きの内容は、
「mt_entry」テーブルの「entry_title」、「entry_tytle」、 「entry_tytle_more」フィールドにそれぞれ書かれている。
で、その「照合順序」の設定が 「ujis_japanese_ci」となっていたので、これを「utf8_general_ci」に変更した。
これで、"~"と入力したらウェ ブ上でも"~"と表示されるようになった。
ついでに、「mt_comment」テーブルの、「comment_text」フィールドの 「照合順序」も「ujis_japanese_ci」から「utf8_general_ci」に変更した。
これで問題ないはず。
ち なみに、この記事の"~"は「〜」ではなく直接「~」で書いている。
もしかするとこの時、旧データベースのデータをエクスポートしてデータベースを削除し、新データベース環境にインポートした時のやり方がまずかったのかもしれない。
で、今まではしかた がないので、
〜の様に文字参照を用いた。
しかし、このコードをよく忘れてしまい"~"の入 力が必要な時は毎回様に調べていた。
文字化けなので文字コードに違いに由来していることは明らかだったが、いままで調べていなかった。
で、 今回phpMyAdminでデータベースに入ってじっくり調べて見るとわかった。
このmovabletypeのタイトル、本文、そして本 文の続きの内容は、
「mt_entry」テーブルの「entry_title」、「entry_tytle」、 「entry_tytle_more」フィールドにそれぞれ書かれている。
で、その「照合順序」の設定が 「ujis_japanese_ci」となっていたので、これを「utf8_general_ci」に変更した。
これで、"~"と入力したらウェ ブ上でも"~"と表示されるようになった。
ついでに、「mt_comment」テーブルの、「comment_text」フィールドの 「照合順序」も「ujis_japanese_ci」から「utf8_general_ci」に変更した。
これで問題ないはず。
ち なみに、この記事の"~"は「〜」ではなく直接「~」で書いている。



コメントする