Re: エンコーディングにまつわるトラブル

名前: Kino
日時: 2007-09-09 03:45:05
IPアドレス: 218.46.131.*

>>49239 だいぶ日が経ったので、もうご覧になっていないかもしれませんが…… > ところが,今日,念のために,貴著付属のMac用ソフトに搭載されているパッケージを確認しようと, >CD-ROM中のptetex3フォルダーの0READMEファイルというのを開いたところ(TexShopでなんとか開けました >が),エンコーディングがMacOSRomanになっていて,文字はすっかり化けておりました. >そして,重大なことは,その直後に,先のA4/15ファイルを開いたところ,文字化けが起こって, >エンコーディングはMacOSRomanに変わってしまっていました(TeXShopの環境設定の上では, >エンコーディングは最初に設定したUTF-8 Unicode(ターミナルも設定通り)のままになっているのですが), >そこで,次の3点についてお教えください. > 1)このようなことが,なぜ起こるのか,どこか設定の上での問題があるのか? それを防ぐにはどのように >すればよいのか? ふつうは起きません。  A. TeXShop の機嫌が悪かった。  B. TeXShop に何らかのバグがある。  C. 何かの事故で、『A4/15ファイル』に UTF-8 として不正な文字列が含まれている。 といった可能性が考えられます。 A、B の場合は、たいてい TeXShop を再起動すれば直ります。場合によっては、ホーム・ディレクトリ下の  ~/Library/Preferences/TeXShop.plist を削除する必要があるかもしれません。 > 2)エンコーディングがMacOSRomanになってしまったA4/15のようなファイルをUTF-8 Unicodeに戻して >復元させるには,どのようにすればよいのか? TeXShop でそのファイルを保存していなければ、何もする必要はありません。そのファイルを MacRoman として保存しても、内容は変っていないはずなので、そのまま UTF-8 として開けば 大丈夫です。厄介なのは、MacRoman として開かれたファイルを、UTF-8 として保存して しまった場合です。 そういうときは…… 1. そのファイルを適当なエディタ(なければ TextEdit)で UTF-8 として開く。 2. 全文を別のファイルにコピーする。 3. その別ファイルを MacRoman として保存する。 その別ファイルを UTF-8 として開けば、元通りになっているはずです。 ただし、先に挙げた、C の可能性があります、つまり、「『『A4/15ファイル』に UTF-8 として 不正な文字列が含まれている」。そういうときにファイルが MacRoman として開かれるのは、 わりあい一般的なことのようです。 元の『A4/15ファイル』や上で説明した「別ファイル」が UTF-8 できちんと開けなかったときは、 ちょっと面倒ですが…… 1. TeXShop の環境設定 => 書類で、検索パネルを「OgreKit」にして、TeXShop を再起動します。 2. 『A4/15ファイル』または「別ファイル」の*複製*を MacRoman として開く。 3. ファイルの先頭をクリックして、挿入位置がファイル先頭になるようにする。 4. 検索パネルを表示します (command-f)。 5. オプションの「正規表現」をチェックします。 6. 「詳細設定」をクリック。 7. 「詳細設定」の抽出しで、「正規表現構文」を Ruby にします。 8. 「詳細設定」の抽出しで、「エスケープ文字」を円記号にします。 9. 検索パネルの検索欄に、以下の19行をコピーする。 (\#UTF-8 as MacRoman)(\x-i) (\#80-BF)(\<a>[\x{A2}\x{A3}\x{A5}\x{A7}-\x{AA} \x{AE}\x{B0}\x{B1}\x{B4}-\x{B6}\x{BA}\x{C4}-\x{C7} \x{C9}\x{D1}\x{D6}\x{D8}\x{DC}\x{DF}\x{E0} -\x{EF}\x{F1}-\x{F6}\x{F8}-\x{FC}\x{3A9}\x{3C0} \x{2020}\x{2022}\x{2122}\x{2202}\x{220F}\x{2211} \x{221E}\x{222B}\x{2260}\x{2264}\x{2265}]){0} (\:[\x{00}-\x{7f}]| (\#C0-DF)[\x{A0}\x{A1}\x{AB}\x{AC}\x{BB}\x{BF} \x{C0}\x{C3}\x{D5}\x{F7}\x{FF}\x{152}\x{153} \x{178}\x{192}\x{2013}\x{2014}\x{2018}\x{2019} \x{201C}\x{201D}\x{2026}\x{2039}\x{203A}\x{2044} \x{20AC}\x{2206}\x{221A}\x{2248}\x{25CA}\x{FB01} \x{FB02}]\g<a>| (\#E0-EF)[\x{B7}\x{C1}\x{C2}\x{C8}\x{CA}-\x{CF} \x{D3}\x{D4}\x{201A}\x{201E}\x{2021}\x{2030}] \g<a>{2}| (\#F0-F7)[\x{D2}\x{D9}\x{DA}\x{DB}\x{131}\x{2C6} \x{2DC}\x{F8FF}]\g<a>{3})+ 10. 挿入位置がファイル先頭にあることを確認してから、検索パネルの「次を検索」をクリックする。 11. もし選択されない部分があったら、何度か「次を検索」をクリックしてみて下さい。それでも 選択されない部分は「不正文字」ですので、そこを削除します。 10 と 11 をくりかえして、ファイル先頭からの「次を検索」で全文が選択されるようになったら、 現在作業中の「複製」を MacRoman として保存します。そのファイルは UTF-8 として正常に 開くことができるはずです(9 に書いた検索表現がまちがっていなければのことですが…… どなたか チェックして下さいますか?)。 > 3)やや,話は一般的ですが,実際に問題となるMacとWindows間でのTeXファイルのやり取りをする上で, >双方どのような点に注意し,また,Mac側ではどのような設定をしておくべきか? また,異なる >エンコーディング間での同様の問題についてはどうか? いろんな可能性があるので、いちがいにはお答えできません。便法の一つとしては、TextEdit で Word Format(ファイル拡張子 doc)で保存して送れば文字化けは起きません。もし相手が Word をもっていなくても、Note Pad か何かで開くことができると思います (たぶん)。 もちろん、tex ファイルとして使うさいには、それを適当なエンコーディングの Plain Text に 保存しなおす必要がありますが。 Kino

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)