― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - 中国語(簡体字)が数値文字参照に変換されてしまいます。
作成者 メッセージ
  記事の件名:  Re: 中国語(簡体字)が数値文字参照に変換されてしまいます。  引用付きで返信する
mtkです。

お忙しい中、お答えいただき誠にありがとうございます。
今回の受信メールは中国語サイトのお問い合わせフォームより自動返信された確認メールのようなもので起きた現象でございました。
(前回の投稿で記載せず申し訳ございません。)


ご教示いただきました通り、[挿入]→[HTMLを挿入]にて変換した文章を確認することができました。


普段の中国語(簡体字)でのメールのやり取りではこのような現象が起こっていませんでしたが

プログラムから自動送信されるメールではこのようなことが起こってしまうことがあると勉強になりました。


一文字ずつ変換する手間が省けてとても助かりました。

この度は、お力添えを頂き、誠にありがとうございました。

mtk
投稿記事 Posted: 2019年8月26日(月) 14:17
  記事の件名:  Re: 中国語(簡体字)が数値文字参照に変換されてしまいます。  引用付きで返信する
mtk1024 さんが書きました:
中国語サイトからCGIにてメールを受信しましたが文字の一部が数値文字参照に変換されていました。

ご提示いただいた文面はGoogle翻訳すると「このメッセージは自動的に送信されます。このように送信します。」という意味らしいので、想像するに中国語サイトのフォームに入力してボタンをクリックした結果、メールが自動送信されてきたといった状況なのかと思います。
たぶん、メールが作成された時点で数値文字参照になっていたのでしょう。

mtk1024 さんが書きました:
こちらの環境で簡体字を正常に読み込む方法はございますでしょうか。

受信側でそのまま設定などで「正常に読み込む」というのは無理っぽいと思います。
とりあえず内容を確認するには、
偶然的通行人 さんが書きました:
(1)HTML 形式でメッセージ作成ウィンドウを開きます。
(2)本文欄にカーソルがある状態で、メニューバーから [挿入] -> [HTML] を選択します。
(3)[HTML を挿入] 画面が開くので、その入力欄に数値文字参照を含む文字列をコピー&ペーストします。
(4)[挿入] ボタンで画面を閉じると、メッセージ作成ウィンドウには数値文字参照の部分が本来の文字になった文字列が表示されるはずです。
という方法が、Thunderbirdだけでできるので良いかと思います。
投稿記事 Posted: 2019年8月16日(金) 00:56
  記事の件名:  Re: 中国語(簡体字)が数値文字参照に変換されてしまいます。  引用付きで返信する
連投ですみません。具体的な記述を大幅にカットした内容ですが、これでスパム判定されずに投稿できれば......。

(数値文字参照を本来の文字に変換する緊急の対応策)
常用するには向かない急場しのぎの対応策に過ぎませんが、数値文字参照を Thunderbird 単体で本来の文字に変換できる方法があるにはあります。

(1)HTML 形式でメッセージ作成ウィンドウを開きます。
(2)本文欄にカーソルがある状態で、メニューバーから [挿入] -> [HTML] を選択します。
(3)[HTML を挿入] 画面が開くので、その入力欄に数値文字参照を含む文字列をコピー&ペーストします。
(4)[挿入] ボタンで画面を閉じると、メッセージ作成ウィンドウには数値文字参照の部分が本来の文字になった文字列が表示されるはずです。
(5)適当な件名を付けて下書き保存します。保存後も本来の文字は維持されるはずです。

(説明)―― 半角英数文字の一部を意識的に全角に置き換えています。読みにくいでしょうがご容赦を。
HTML 形式のメッセージ作成画面で、本文の入力・編集欄に記述された内容は、Thunderbird によって HTML に変換されたメッセージソースが作られます。
数値文字参照の文字列をそのまま入力すると、その過程で「&」の部分が文字実体参照の「&」に変換されたソースが作られます。

そういうソースでは、Thunderbird は数値文字参照として解釈しなくなるので、ひと手間かかりますが、[HTML を挿入] を使い、数値文字参照を含む元の文字列をそのまま(変換しないで)ソースとして記述させることで、数値文字参照を本来の文字で表示するようにしてます。
(1)の部分について。
[Shift] キーを押しながら [作成] ボタンを押すと、アカウント設定の [HTML 形式でメッセージを編集する] で選択しているのと逆の形式でメッセージ作成ウィンドウが開きます。
日常的にプレーンテキスト形式を使っている人は、[Shift] キーを押しながら [作成] ボタンを押すと、HTML 形式のメッセージ作成ウィンドウが開きます。いちいちアカウント設定で [HTML 形式でメッセージを編集する] のオン・オフを切り替えなくても、必要に応じてメッセージ作成ウィンドウの形式を切り替えられます。

以上です。
投稿記事 Posted: 2019年8月15日(木) 17:00
  記事の件名:  Re: 中国語(簡体字)が数値文字参照に変換されてしまいます。  引用付きで返信する
メッセージソース内の具体例や、簡体字と数値文字参照の事例などを書くと、スパム判定されて投稿できなかったので、ざっくりした話だけですが......。


当該メールを Thunderbird で表示したとき、メッセージペインに数値文字参照の文字列が表示されるということですよね。
 ・メッセージソース内の当該文字列は、数値文字参照で記述されていますか。それとも、本来の文字ですか。
 ・当該メールは、プレーンテキスト形式ですか、それとも HTML 形式ですか。
メッセージソースを表示し、Content-Type の項目がどうなっているかを重点的に確認してみてください。


(考察)
HTML メールのソース内に数値文字参照が含まれる場合、Thunderbird は通常、それらを本来の文字列に変換して表示します。つまり、ブラウザのような動作・表示をします。数値文字参照は、HTML や XML などのマークアップ言語用の代替記述方法だからです。
一方、プレーンテキストメールのソース内に数値文字参照が含まれる場合は、数値文字参照の文字列をそのまま表示します。

HTML メールであれ、プレーンテキストメールであれ、ソースに含まれる文字列が本来の文字(=数値文字参照ではない)であるとき、その中の特定の文字を Thunderbird が数値文字参照に変換してメッセージペインに表示することは、なかったと思います。

mtk1024 さんが書きました:
変換されてしまった上記文字は日本漢字ではないことから変換されているのかと思いますが、

UTF-8 などしかるべき方式でエンコーディングされていれば、簡体字は、日本語 OS 上の日本語版 Thunderbird でも表示できるはずです。ブラウザで問題なく表示できるように、です。

まずは上述のようにメッセージソースをきちんと調べてみてください。その中国語サイトから送信されたメール自身に問題があるのか、そのメッセージソースは正常で、Thunderbird に問題が起こっているのか、切り分けられるのではないかと思います。

とりえあえず以上です。役に立たない話になっていたらすみません。


(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。
投稿記事 Posted: 2019年8月15日(木) 16:57
  記事の件名:  中国語(簡体字)が数値文字参照に変換されてしまいます。  引用付きで返信する
OS:Windows7
バージョン:Thunderbird 60.8.0 (32 ビット)
プロバイダ:コミュファ光(KDDI)
中国語サイトからCGIにてメールを受信しましたが文字の一部が数値文字参照に変換されていました。
(下記一部抜粋)
本邮件为自动发送。
有下面这样发送。
コード内容を確認し変換したところ下記の内容であることが分かりました。
本邮件为自动发送。
有下面这样发送。
変換されてしまった上記文字は日本漢字ではないことから変換されているのかと思いますが、
こちらの環境で簡体字を正常に読み込む方法はございますでしょうか。
何か解決策をご教示いただけましたら幸いです。
投稿記事 Posted: 2019年8月13日(火) 11:26

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean