メールをShift JISかCP932ティルドかオーバーバーか両方?

メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿
返信数: 17

メールの設定をShift_JISにすれば、半額のティルド「~」がメールから排除されます。

最初はMoodleかMoodleが使っているTYPO3のバグだと思ったり、phpのiconvの問題だと思ったりして、結局はlibiconvの開発者BrunoにShift_JISとCP932の違いを教えてもらいました。

正式なShift_JISには半角なティルド(~)は存在しませんので、Shift_JISに変換すればティルドがなくなるのは当然ですが、世に出回っている「Shift_JIS」と呼ばれしものは実は、「CP932」別名「WINDOWS-932」別名「SJIS_WIN」です。SJIS_WINにはティルドがあります。
http://www.microsoft.com/globaldev/reference/dbcs/932.mspx
このフォーラムをもっとまめに読んでいただら、分かったはずです。

現在では、メールのエンコードとして、SJISはあってもCP932という選択肢はありません。バッグを投稿していますが、下記1,2,3のうちどれが望ましいと思われますか。

1)正式な(ティルドなし)のShift_JISTは必要でしょうか?必要なければ
moodlelib.phpに
function get_list_of_charsets() { 
    $charsets = array(
        'EUC-JP' => 'EUC-JP',
        'ISO-2022-JP'=> 'ISO-2022-JP',
        'ISO-8859-1' => 'ISO-8859-1',
        //Takemoto made Shift_JIS map to CP932
        'SHIFT-JIS' => 'CP932',
        'GB2312' => 'GB2312',
        'GB18030' => 'GB18030',
        'UTF-8' => 'UTF-8'); 
    asort($charsets); 
    return $charsets;
}

2)SHIFT_JISに、SJIS_WINの選択肢を加えてもらえばよいか

3)SHIFT_JISTを排除し、SJIS_WINのみを残せばよいでしょうか?

オーバーバーを使うことがありますか。

ちなみに弊校では、"Shift_Jis"とEUC-JPしか表示しないメールクライエントを使っていますので、詳細設定でメールがShift_JISで送信されるように設定しています。しかし、そうしますと、ティルド(にょろ、~)が排除されます。小生のムードルのURLには(apache標準のユーザ名前)ティルドがありますので、我がMoodleからのメールの中にあるリンクが全て機能しませんでした!バーチャルサーバーで対応していましたが、サーバーの移動ではそれも一時期はなくなります。

Timothy Takemoto への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Tatsuya Shirai の投稿

 当方では,メールのエンコーディングにISO-2022-JPを使用しています.

 仰るように,~が消えてしまうのでいくつかソースの改善も必要です(こちらを参照.Shirai008とShirai009).

 奥村先生の報告に基づいています.

 JISコードですので,クライアントのメーラが対応しているかどうか,ですね.

Tatsuya Shirai への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿

ISO-2022-JPが何であるかは分かりませんが、おそらくSJISとは異なるものですね。
ISO-2022-JPから全角ティルド~がなくなっていることは別の問題のように思いますが、無知で。。。

SJISの問題に関して
1)Shift JISをCP932として捕らえる
2)Shift_JISプラスSJIS_Winを提供
3)SJIS_WINのみを提供

のうちはどれにそればよいと思われますか?

今からクライエントをテストしますが、きっとうSJIS_WINを使っています。だって、ティルドは重要ですもの。

ちなみに、Microsoftは「932 (Japanese Shift-JIS)」で、CP932とShift_JISが同じものだといっています。

Timothy Takemoto への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Haruhiko Okumura の投稿
メールの設定は,日本ではまずISO-2022-JPをお考えください。
ISO-2022-JPで文字が足りない場合は,UTF-8にします。
これ以外は日本では使われていません。
特にShift JISは御法度です。
ティルドの問題は,簡単に回避できます。
http://moodle.org/mod/forum/discuss.php?d=75226

Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿

ご法度であろうとも、弊校のメールクライアントはShift_JISを使っています。

http://moodle.org/mod/forum/discuss.php?d=75226
は全角ティルドについてと思います。全角ティルドを使っていません。

Timothy Takemoto への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Haruhiko Okumura の投稿
ご免なさい、最初から読まなかったのですが,半角tildeとoverbarの問題でしたか。^^; これについてはちょっとややこしいので別に書きます。

御校のメールがShift JISを使っておられるというのは,多分誤解だろうと思います。そんなことをしたらまわりからぶーぶー言われます。たぶんWebベースのメールのWebでの表示がShift JISになっているというだけで,サーバとのメールのやりとりはISO-2022-JPを使っておられるはずです。
Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Haruhiko Okumura の投稿
Takemoto先生からのメールを2通見つけました。昨年10月のものです。
両方とも別のメーラを使っておられましたが,両方ともiso-2022-jpでした。
もしよろしければ御校のメールシステムでも私にメールをくださいませんか。もしそれがShift JISになっているのなら問題です。

Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Haruhiko Okumura の投稿
半角tildeの問題?ですが,試しに私のブログのURL

http://oku.edu.mie-u.ac.jp/~okumura/blog/

をうちのテスト用三重大版Moodle 1.9.1+に貼り付けてみましたが,ちゃんとリンクできました。ここのMoodleではどうなるでしょうか,試してみます。

Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Haruhiko Okumura の投稿
うちのMoodleからのメール(iso-2022-jp)も,ここのMoodleからのメール(utf-8)も,特に問題なくリンクとして働くようです。
Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿

今は学外ですので、MaiYuを使って送信できませんが、しばらくするとお送りします。

taktim at yamaguchi-u dot ac dot jpまでにiso-1022-jpエンコードのメールをいただければ幸いです。

Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Tatsuya Shirai の投稿

 当方の環境でも半角~をメッセージに含めて送信しても無事に届きますね.(ISO-2022-JP)

 このMoodleですとどうでしょう.

 あ,ちなみに当方のWebページのURLは,

http://www.suzuka-ct.ac.jp/mech/ai_mech/~shirai/

です.shiraiの前は半角チルダです.

Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿
> 御校のメールがShift_JISを使っておられるというのは,多分誤解だろうと
> 思います。そんなことをしたらまわりからぶーぶー言われます。

最近テストしていませんが、キャンパス内のパソコンで使っているメールクライアント(ウェブではありません)は、EUC-JPとShift_JIS対応のみとあります。
http://aqua.math.sci.yamaguchi-u.ac.jp/~mai/maiyu0.html

しかし、ヘルプページでは

ヘッダーは MIME に対応しています。日本語を含むヘッダーは「charset = ISO-2022-JP, encoding = base64」でエンコードして、送信します。逆に言うと、ヘッダーを生 JIS で送ることは出来ません。

それはヘッダーだけがISO-2022-JPか。。。わかりません。テストしてみます。そうですね。ヘッダーがISO-2022-JPですがメールの本文がSJISのようです。UTF8は確実に文字化けします。

最新のメールを拝読しました。今からMaiYuからメールをお送りします。

武本

Timothy Takemoto への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Tatsuya Shirai の投稿

 山口大学オリジナルのソフトを教職員・学生は御利用なのですね.(Macの人はどうするのだろう?)

 MaiYUではなく,Maiのヘルプを読ませて頂きました.

 サーバの文字コードはJISのみ,と(Maiでは)書いてありました.EUC-JP, シフトJISはダメと.MaiYUのページではEUC-JPにも対応したように書かれていましたので,拡張されたのでしょうか.

 Moodleのメールの文字コードをISO-2022-JPに設定することで,山口大学のメールサーバ(IMAP4?)まではJISで正しく届いているとも考えられます.それをWindows用アプリケーションであるMaiYUで受け取る際に,JISからシフトJISに変換し,そこで半角チルダが欠落する可能性もありますね.
 MaiYU以外のメールクライアントも試すことはできないでしょうか?

Tatsuya Shirai への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿

 私は問題なくOutlook Expressを使っています。ただ、学生が大学内で使うコンピューターにはMaiYuしかインストールされていません。ウィルス対策です。

 そこで自宅でインターネットがない学生は大学でメールを受信していると、UTF8では文字化け・Shift_JISではティルドがありません。

 MaiYUが拡張されたのは、もしかしたら、私が昔MoodleでEUC-JPを使っていてお願いしたからかもわかりません。EUC-JPを使うことも考えられますね。それを考えていませんでした。しかし、どこかのソフト・環境でEUCJPが文字化けするとも聞いていたかと思います。
 EUC-JPはCP932よりよいでしょうかな。moodlelib.phpの中の当該スクリプトが見つかりましたので、どのエンコードにでもできると思います。

 


Timothy Takemoto への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Tatsuya Shirai の投稿

 Outlook Expressを御利用の武本先生がMoodleから(山口大学のメールサーバを介して)メールを受信した場合も,半角チルダが消えてしまうのでしょうか?

 メールの文字コードは,ユーザープロファイルか,あるいはサイト管理でデフォルトの文字コードを変更可能ですよね(添付ファイルはユーザプロファイル).こちらでISO-2022-JPに設定して,Outlook Expressで受けた場合にどうでしょう?

(あ,自分から自分宛にメッセージは送れませんよね...後ほど,私の方から武本先生宛にメッセージを送りましょうか?)

添付 MailCharacterCode.jpg
Tatsuya Shirai への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Haruhiko Okumura の投稿
授業をやって戻ってみたら,いろいろ話が進んでいるようですね。

そもそもMoodleのメール文字コードでShift JISやEUC-JPが選択できることは誤解を招きそうですね。UTF-8対応のメールソフトを持っている場合はUTF-8で,それ以外(携帯で読む場合も含めて)はISO-2022-JPということですね。

あと,tildeが消えるというのは,山口大学の特殊事情なのかもしれません。

Haruhiko Okumura への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Timothy Takemoto の投稿

> Outlook Expressを御利用の武本先生がMoodleから(山口大学のメールサーバを介して)メールを受信した場合も,半角チルダが消えてしまうのでしょうか?

はい。Shift_JISに設定すれば、そうです。

> 私の方から武本先生宛にメッセージを送りましょうか?)
奥村先生からいただきましたから、ご親切ですが、よろしいです。

(正式の)Shift_JISを選択すると、ティルドが存在しないので、ティルドがないのは山大の問題だけではなく、当然です。問題はShift_JISを選択したこの馬鹿です。

山大のMaiYU(メールクライアント)もISO-2022-JPに対応していることが分かりました。最初からそれを選択すればよかったです。

EUC-JPが選択できるのはありですが、(正式な)Shift_JISは不要で誤解を招くでしょう。Shit_JISの選択肢があってもSJIS_WINのCP932が望ましいと思いますが

では
1)現在(少なくとも1.6)のGUIにある「Shift_JIS」という選択肢をCP932に対応させるか(複雑だからいいえ)
2)「Shift_JIS」という選択肢に加えてCP932(「SJIS_WIN」)を加えるか(少なくとも正式のShift_JISは不要)
3)Shift_JISの代わりに「JSIS_WIN(CP932)」のみを提供すればよいか(はい、かな)
4)Shift_JIS(もSJIS_WIN(CP932))をGUIから排除すべきか(考えられる)

拙見は(括弧)にあります。

自身の問題はもう解決ですが、MoodleのGUIについては1~4、どれにすればよいでしょうか?

武本

Timothy Takemoto への返信

Re: メールをShift JISかCP932ティルドかオーバーバーか両方?

- Tatsuya Shirai の投稿

 実は私も,Moodleのインストール直後に,サイトのメールエンコードの設定をシフトJISに設定していて,学生からの指摘を受けて直しました恥ずかしい

 今回の件を受けて,まず考えたのは選択肢からシフトJISを消してしまう(4)でした.しかし選択肢を狭めてしまうのは良くないとも考え,削除は止めました.そうですねぇ,MoodleのGUIに関して言えば(3)でしょうか.

 しかし,私も含めて,初期の設定を誤る管理者は多いと予想されます.ドキュメントに ISO-2022ーJP推奨の文言を明記するのが好ましいでしょう(Moodle Docsの”多言語対応”に追加しておきます).日本語言語パックの”メール文字コード”を”メール文字コード(ISO-2022-JP推奨)”とするのも一つの手です.ちょっと長いですけれども.