« RedHat 7.3でLFS(Large File System)はサポートされているか | メイン | iTerm ペースト時のエンマークの文字化けを回避するPatch »

iTermの仕様?Macの文字コードの問題

iTermでは、¥(エンマーク)をキーボードで打つと、\(バックスラッシュ)になります。(すべて半角で)
まぁ、これ自体はなんの問題もないのですが、

エディタで、
perl -e 'print qq(hogehoge¥n);'
と書いてterminalへコピー&ペーストすると
perl -e 'print qq(hogehoge?n);'
となってしまうのです。
¥を\に自動的に変換してくれればいいのに。。

ちなみに、Safariでも半角の¥を書くと?になってしまうのでMac OS X(panther)自体の問題だと思い、調べるとサイケデリックビビアンさんのMacでファイルの文字コードを変換する場合を発見。

1. Shift_JIS、EUC-JPでは先に述べた「置き換えてしまった」関係から円記号もバックスラッシュも同じものです(0x5c)。(何か本当はもっとややこしいけど、ここではそういうことにしといて下さい)

2. しかしMacでは独自拡張部分に別途、円記号(欧米形式の場合。0xb4)、バックスラッシュ(日本語形式の場合。0x80)をあてはめてしまいました。


ということ。なんとなく理由がわかってきた気がする。文字コードは難しい。
もうちょっと調べてみよう。

Jedit Xに添付されているファイルの「Jedit4のユーザーへ」にも説明がありました。

トラックバック

この一覧は、次のエントリーを参照しています: iTermの仕様?Macの文字コードの問題:

» iTerm ペースト時のエンマークの文字化けを回避するPatch from blog.nomadscafe.jp
iTerm ペースト時のエンマークの文字化けを回避するPatchをつくりました。 普通に文字を挿入する時と、ペーストするときと、処理が異なっていて、ペースト時に¥(円記号)をコンバートしないようになっていたので、文字を挿入するときのプログラムをコピー。 初めて、Xcode... [詳しくはこちら]