アーカイブ

2012年 5月 10日 のアーカイブ
2618 letters | 1833 views | コメントする

 例えばこの日記はWordPressを使ってるが、ソースをいじる場合はUTF-8にしなきゃいけない。プラグインでもなんでも、元のソースは日本人が書いてる事は少なく、たいがいはマルチバイト文字を含んでいないため、これを真魚で開くとSJISと判定される。そこに自分でマルチバイト文字を書いて保存すると、UTF-8じゃなきゃいけないのにSJISになるわけだ。真魚の動作としては何らミスしてはいない。これはしょうがないことだ。でも、自分で使う上でさすがに面倒くさいので、マルチバイト文字を含まないテキストファイルを読み込んだとき、SJISで保存するかUTF-8で保存するかをやっぱりどうにかしたいのよ。でも、普通の解決方法はやらないよって話。コメント欄にあるような使いやすい状態には絶対にならない。そういうアップデートは今後もしない。

 ウチには嫁という格好のサンプルがいて、嫁でも混乱せずに使えるかって事はだいぶ意識して作っている。自分ではPHPも書くしUTF-8がいいなぁと思ってるし、嫁はパソコンで文系の仕事をしてるが、文字コードなんて一切分かっていない。そんなうちの嫁が、真魚を使ってたらSJISにするかUTF-8にするか訊かれても、どっちにしていいかわかるわけもない。訊いてもわからない人には訊かずに処理するという方向で行きたいので、変な文字が含まれてたら警告し、そう出なければ訊かずに全部SJISにするって言う方向でやって来た。で、それだと嫁は良いけど自分は不便だ。どこかに、デフォルトはUTF-8にするような設定がある方が助かる。助かるからって安易に設定を設けないのがこれまでの真魚のやり方で来たわけよ。人によっていろいろ設定したい所が違うのは当然で、そういういろんな人のニーズに応えてどんどん設定項目が多くなって、良くあるよそのテキストエディタみたいに設定が面倒になるのは避けたいところ。設定項目なしで出来る物ならなしで済ますって方向で一応考えてて、それがうまく行かなければ不便だけど今まで通りだ。あたし自身がUTF-8をよく使うにもかかわらず、Windowsのメモ帳がUTF-8をデフォにしてない以上、真魚のデフォをUTF-8にはしないし、そのように切り替える設定すらも真魚のどこかにあるべきではない。

 しかし設定なしで自動的に何をすれば助かるのかだ。今考えてるのは、一番最初に書いたような状況への対応だ。最初に読み込んだマルチバイト文字を含まないファイルにあとからマルチバイトを含むように変更した場合、今までは、普通の日本語を書いた場合は訊かずにSJISにし、変な文字を書いたら一応確認してたし、それでも十分だけど、それだと自分で不便な事が多くなってきたから変更したい。変な文字を含んでなくても、ANSIテキストにマルチバイト文字を足した場合はSJISを意図してるのかUTF-8を意図してるのか訊いたらどうかと。これだったらWordPressのPHPを扱ってても失敗は少なく出来る。設定項目も増えない。でも、嫁(のような素人)にとっては意味不明な質問が出る事になるからマズい。そこで、質問をもっと丁寧にしてはどうかと。日本語じゃないファイルに日本語が追加されましたよ、Windowsパソコンで使う場合は気にしなくてOK、ホームページにアップするならUTF-8に変更しないと文字化けするかもよ、とか書いて選ばせれば、さすがに嫁でも分かるだろう。しかしこれをやるとすれば、元のファイルが一切マルチバイト文字を含まないか完全にチェックし、その情報をどこかに保持し、しかも保存する時点ではマルチバイト文字を含む事をチェックしないといけない。結構根本的な改造が必要になっちゃう。

 SJISかUTF-8かだけじゃなく、実はUTF-7にしたいかもしれないしEUCにしたいかも知れないしJISにしたいかもしれないのに、その中でSJISかUTF-8かを選ばせるのもやはりどうかと思うわけだ。まぁあたしは個人的に、SJISかUTF-8かしか選ばなくて良いし、世間でもそういう人は多いだろう。選択肢にSJISがあるのはOSのデフォだから当り前として、UTF-8はどんな理由を付けて特別扱いするのかと。それでメモ帳を確認してみたら、少なくともWin7のメモ帳はBOMなしUTF-8を読み込めるし、今後の真魚はWin7しかサポートしないので、選択肢としてSJISかUTF-8しか出さないという方向性はいけるな。むしろここにEUCとか表示しないことが理想だな。

 ほかに、簡単にやっちゃうなら、メニューの改行コード選択の所で、文字コード選択もあればいい。改行コードと同様、真魚ではどれがWindows標準で、他はどんなときに選べば良いのかまで書いておかないといけない。しかしこの設定があったとしても、デフォでSJISで読み込んだ物をUTF-8に変更するという手間はなくならないので、だったらあるよりないのが真魚の美学なのでないを選ぶ。

文字コード超研究

 つーわけでせっかくコメント欄に書いて貰った物は将来的にもやらないつもり。やらないけどそれじゃ自分でも不便なので、何かしらの事をする気はあるけどそのものではない。ただし大改造になるかも知れなくてどうかな。やったとしてもUTF-8主体の人にとって便利にはしないので、期待するだけ無駄。と言う結論を出してみた。