2005年03月11日

英語の記事のコピペを北国に投稿する場合のちょっとした留意点。

先日書いた記事にいただいたトラバがものすごい勢いで文字化けしていた件について,チャンネル北国tvさんにメールで問い合わせたところ,迅速なご回答をいただきました。(佐藤さん,開発チームの皆さん,多謝です。)

結論としては,欧文記事で「――」に見えるものが原因なのではないかと思われるということです。

欧文記事をコピペする場合に,ブラウザで「――」に見えている部分(マウスで選択してコピペしても「――」みたいになるはずですが)を,「--」(半角のハイフンを2つ)にすれば,問題は発生しないと思われます。

以下詳細。・・・って,私は文字コードのことはあんまり詳しくない(というかほとんど知らない)ので,間違ったことを書くかもしれません。間違いがあればコメント欄でご指摘ください。

また,以下「欧文」ではなく「英文」と表現します。(「欧文」というとアクサンとかウムラウトとかも含まれてしまうので。)

■発生した現象----------
送られてきたトラバの文字化けっぷりは,【図1】のようなものでした。(トラバの文字化けは私も経験ありますが,これは初めて見るパターンです。)
図1:
文字化けしたトラバ

もちろん,トラバ送信元では文字化けはしていません(【図2】参照)。
図2:
元は文字化けしていない


■その原因として考えられるもの----------
これまでに見たことのないパターンでしたので,なんだか気になりました。

よく見ると,【図1】の最後が「... Chechen War」です。その部分をトラバ送信元の記事(【図2】)で確認すると(以下,万全を期すために,問題の箇所を全角文字で表記します):
Talks With Putin Could End Chechen War — Maskhadov

とあります。

トラバとして送信された文(【図1】)は,「—」の前までであることがわかります。そこで,「—」が原因か?と仮定して,チャンネル北国tvさんに問い合わせをしました。

その結果,開発チームさんから次のようなご回答をいただきました。
送信内容に「—」を含むトラックバックを送信して、トラックバックの文字化けが再現致しました。以上の状況から、特定の文字コード(—)が含まれると文字化けが起きるようです。現在は、引き続きその原因を調査しております。


というわけで,やはり「—」が原因のようです。


■「—」とは何か----------
Talks With Putin Could End Chechen War — Maskhadov

この文字列は,mosnews.comという英語サイトの記事のタイトル部分をマウスで選択してコピペして,そのままチャンネル北国tvにポストしたものです。

この部分がmosnews.comの記事でどう表示されているのかを示したものが【図3】です。
図3:
元の記事(英文)

「—」の部分が,元記事では「――」のように見える記号であることがご確認いただけると思います。

この「—」はHTML4.0で使えるエンティティ記述で,HTMLでこう書いた部分は,ブラウザでは「――」のように表示されます。(「HTML4.0で使えるエンティティ記述」というのは,キーボードでは入力できない文字を,ウェブページで表示させるための記述方法のこと。詳しくは,たとえば「HTMLの基礎」というサイトの説明のページなどをご参照ください。)

しかし,英文中で「――」のように見えているものと,日本語の全角変換での「――」(←キーボードの「ゼロ」の右隣,「ほ」のキーを押して,MS IMEでは「[全]ダッシュ」と出る文字を,2つ連続させたもの)とは,見た目は非常に似ていますが,まったく別の文字です。

「—」が「――」のように表示されるためには,そのウェブページの文字コードが「ISO 8859-1」でなければなりません。(w3c.orgを参照・・・すればよいのだと思うのですが間違ってることを書いてるかも。)

一方でチャンネル北国tvの文字コードは「EUC-JP」です。

つまり,「ISO 8859-1」では「――」のように表示されるものが,「EUC-JP」のページではうまく表示されておらず,元の「記号と数字」になっている,というのが,【図2】の現象です。

ちなみに,日本語環境(EUC-JPでもShift-JISでも)では「――」(「[全]ダッシュ」2つ)が「――」として表示されますが,同じものは英語環境(に限らないけれども)ではおそらく文字化けするんではないかと思います。

この問題が生じないようにする最も手っ取り早い方法は,英文記事からコピペしたものに「――」が含まれている場合は,その箇所を「--」(英字入力モード=半角でハイフンを2つ)に打ち直すことでしょう。(3つでも4つでもよいのですが。)

# ↑なぜか英文から日本文への直訳調になってます。

日本語環境での閲覧を前提とする場合は「--」(半角ハイフン2つ)じゃなくて「――」(全角ダッシュ2つ)でもよいのですが,英文中なので半角英数字(1バイト文字)を使うのが,私は好きです。


■補記----------
なお,「――」みたいに見えるもののほかにも,英文記事中の各種記号で,これと同様の問題が発生する可能性があるかもしれません。

「$」は全角だろうと半角だろうと問題は発生しないのですが,例えば「£」(英国のポンド)の半角は,ブラウザの表示メニューで文字コードを「自動選択」にしておくと,半角カナの」(カギカッコ閉じ)になることがよくあります。「ユーロ」の記号もうまく表示されません。(ただしどちらも表示するHTMLのファイルでcharsetが指定されていれば表示に問題はないはずですが。)

これらはコピペしたあとで「pound」とか「euro」とかに書き換えるなどしないと,文字化けしてしまいます。(全角の記号を使うこともできますが。)

あと,フランス語などで用いられるアクサンつきアルファベットも,コピペするときにはアクサンのない文字に置き換えた方が無難ではないかと思います。

これらは,私の環境では,英語の記事をそのままコピーして,テキストエディタに貼り付けて保存しようとすると,「変換できない」と警告が出る文字です(【図4】参照)。このエディタでは警告を無視して保存すると,「?」に置き換えられてしまいます。
図4:
「変換できない」という警告


私がよく見る文字列に,Sinn Fein(ゲール語)というのがありますが,Feinのeには本当はアクサンターギュがついています。この文字は,BBCでは「アクサンのない普通のe」で入力されていますが,ガーディアンでは「アクサンつきのe」で入力されています(【図5】参照)。(ガーディアンから引用した記述を使うときには「アクサンのない普通のe」に置換しています。)
図5:
ガーディアンでの表記

また,引用符のダブルクオートも,本来は“(開始)と”(終了)とでは向きが異なるものですが,これが半角では区別して入力することができないので(全角ではできるのですが,英文中に日本語の全角文字を使うことは私は抵抗があります),開始も終了も半角英字で「"」(←キーボードで「2」のキー+Shift)に置換してます。

アポストロフィーも同様で,コピペしたときに「’」(全角)になっていたら「'」(半角)に置換してます。

英国のメディアでは,タイムズを引用するときにダブルクオートとアポストロフィーの置換をしています。

■補記2(どうでもいいのかもしれない)----------
mosnews.comの記事のページソースを見てみたのですが,問題の「――」らしい記号の箇所は「—」(←全角で入力)で,これも「—」のことですが,「—」は2002年2月の時点で「正しくない」とされていたようです。
ページソース


なので,「—」を含む文字列をコピペして北国にアップロードしたら「—」になっているのは,不具合ではありません。

あと,mosnews.comのページ,ソースを見たのですが,charset指定がされていない(下図)。
ページソース
posted by nofrills at 21:24| about_this_blog | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。