作者: Zazel
日時: 2009/9/14(16:36)
Zazelです。
元のメールがUTF-8だったので、引用多めで。

=== MIZUHA Nobuo <laoshu_1960@...> さんが書かれた
=== <4AADBB24.2010207@...> にて

>  次のようなファイル(test.txt)をOKIソフト ウェアーが作成されたUTF-8
> Cygwinのコンソール (bash)上で、mbsedを用いて処理しました。
> 
> 
>  mbsed --ctype=UTF8 -f test.sed test.txt
> 
>   --------test.sed------------
> s/\\&{ }\(..*)\)/\\begin{flushright}\1\n\\end{flushright}/g
>  --------------------------
> 
>  ---------test.txt------------
> \&{ }2009/04/14 (MIZUHA,N) K313
>   的是什?
>   王愚 小平  君
>  王愚 小平 張東 張君
>  -----------------------------
> 
>  気になっている点は次の2点です。
> 
>  1)変換の結果は次のようなものですが、K313の 位置が僕の期待するものと異
> なります(僕として は\endの前に置きたいのです)。たぶん正規表現 の使い
> 方の問題だと思うのですが、いまのこと ろ?です。
> 
>  --------------
> \begin{flushright}2009/04/14 (MIZUHA,N)
> \end{flushright} K313
>  ------------

アスタリスクの次の閉じ括弧が不要です。

s/\\&{ }\(..*\)/\\begin{flushright}\1\n\\end{flushright}/g


>  2)またUTF-8 Cygwinのコンソール上でcatす ると、以下のテキストのうち
> 日本語と同じ形の文 字は問題なく表記できます。ちなみに1行と2行 目は中
> 国語(gbコード)、三行目は第3・4水準 を使った日本語表記(sjis)を
> utf8ファイルで保 存したものです。catで表示されないのは、、 、、、、、、、
>  でした。

余談になりますが、事前の合意無しにUTF-8で書かれたメールを送っても読んで
もらえるとは限りません。水羽さん本人にはそんなつもりはないのだろうとは
思いますが、日本語の第一水準、第二水準の漢字以外を使うとメーラーに
よっては自動的にUTF-8 にして送り出したりするので、気をつけたほうがいい
でしょう。

ちなみに私の普段の環境はUTF-8でも第一、第二水準だけならば読めます。
http://rakunet.org/TSNET/TSabc/25/756.html では、UTF-8の日本語だけ
対応ですね。最悪、文字化けでまったく読めない人もいるでしょう。

このように人によって違うので、多言語の文章などを例示したりする場合は
ファイルとして添付すればいいのではと思います。


さて本題に戻ると、

>  またmbsedで処理したものをコンソールで表示 しようとするとwindowsのコン
> ソール(cmd)と同 じく全面的に文字化けします。
> 
>  mbsedで処理したものをUTF-8 Cygwinのコン ソールで表示すたるめには、
> UTF-8 Cygwinのコン パイラを用いて再コンパイルが必要、ということ でしょ
> うか。ご教示いただければ、幸甚です。
> 
>  ……この問題はファイルにリダイレクトしておけ ば何の問題もないので、別
> に取り立てて質問する こともなかったのですが、少し気になりましたの で、
> 書き込ませていただきました。

リダイレクトすれば問題ないのであれば、mbsedの問題ではないですね。
つまり表示側のコンソールがUTF-8に完全対応していないのです。

ただ私はCygwinを使っていないので、何が多言語表示対応しているかは
わかりません。ちょっとググった感じではmltermがCygwin上でも動きそう
なので、期待できるかもしれません。


# メールもコンソールも、文字化けの根底は一緒ということで…

(* SEKI Masatoshi  /  zazel.ts@..."cx"           *)
(*  Would you hold my hand? Softly, let's linger. *)