|
Notices |
![]() |
Thread Tools |
![]() |
#1 |
Loremaster
Join Date: Nov 2004
Posts: 5
|
![]() これから外から見てわかる範囲で現象を説明してみるので、どのように修正要求を出したら適切な部署に届くか 一緒に作戦を考えて欲しい。一応過去ログは見てから投稿しているんだが、重複していたらすまない。まず、現 時点で文字化けしている箇所の先頭はこんな風に表示されているはずだ。ゲー& #12512;これは一体何かというと、HTMLの書式で「数値文字参照」(Numeric character reference)というものなんだ。&#に続く数字はUnicodeの文字コードを表していて、この書 式で記述しておくとブラウザが表示する時に対応する文字に置き換えてくれるっていう寸法さ。EQのWebサ ーバが日本語テキストを直接Unicodeで書かずに、この表記を採用している理由は、おそらくは異なる文 字コードの混在による文字化けを避けたかったんだろうね。さて、なぜ正しく表示されずに、コード番号がその まま文字列として見えているのかというと、とある理由で最終的なデータが次のように変形しているからなんだ 。ゲーム「&」は表示する時 にブラウザのプログラムで「&」に置き換えられるんだぜ。ここまでOKかな?じゃあデータ中の「&」が「& amp;」に置き換えられてしまう理由を説明するぜ。こいつはセキュリティの問題で、入力データ中のメタ文 字(Meta character)をエスケープする処理が働いているからなんだ。HTMLでは、「&」はメタ文字と呼ば れる制御文字に含まれていて、特殊な役割を持っているんだ。Webベースのシステムでは「&」のような特殊 な文字が入力データとして入ってきた時に、そのまま使用するのはとても危険な事なんだ。だから真っ当なシス テムでは入力データ中の「&」を「&」を表示するだけの無害な形式「&」に変換するん だぜ。 とりあえず現象の説明はここまで。 |
![]() |
![]() |
![]() |
#2 |
Loremaster
Join Date: Nov 2004
Posts: 5
|
![]() じゃあ、ここからは推論になるけど、引き続きEQのシステムで起きている事を書いてみるぜ。 まず、ようこそウィンドウのニューストピックは、公式フォーラムのニュースに連動してプログラムで自動生成 されているはずだ。 おそらくは翻訳担当者が、日本語版のニュースをブログの管理画面のような所から投稿すると、公式サイトとよ うこそウィンドウに新規トピックが生成される仕組みになっていると思う。 つまり入力オペレータはWebブラウザからフォームに日本語で普通に入力しているわけね。 これを受け取ったWebサーバのプログラムが、まず「数値文字参照」に変換してから公式サイトのニュースソースを作成する一方で、変換後の記事を用こそウィンド ウのトピック生成プログラムにも送るんだ。 そして、ようこそウィンドウのトピック生成プログラムは、セキュリティの観点から入力データのメタ文字エス ケープ処理を実行してから、新着トピックへのリンクを作成するわけだ。 で、ここまでで何が悪いのかというと、ようこそウィンドウのトピック生成プログラムが、「数値文字参照」形 式の入力データを考慮していないのが良くないと自分は思うね。「&」の次の文字が「#」だったら「&」を「 &」に置き換えるのを止めてもらわないといけない。 だから僕らの「文字化けしてるんだけど直して」の要求を、そこんとこのプログラマに届けなきゃいけないわけ さ。 だけど今まで直らない所から考えて、普通に「文字化けしてるんだけど」って伝えても、きっとニュース原稿の 投稿担当の人へ、「お前の入力した原稿が化けてるって苦情が着てるぞ」ってクレームが届くだけなんだろうと 思う。ニュース担当の人はきっと「俺ちゃんと入力してるのにどうしたらいいんだよ!」って胃が痛くなる思い をしてると思うね。 |
![]() |
![]() |