■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50


レス数が1000を超えています。残念ながら全部は表示しません。
【本スレ】不具合報告・改善要望スレ

29 :管理人さん ★:2006/01/12(木) 20:02:32
>>26

charsetが不正な場合はHTMLソースの文字列から
文字コードの自動検出を試みますが
HTMLソース中、コメントにハングル文字が使用されているので
自動判別ではEUCとして検出してしまっているようです

ググると、シフトJISの表記で、アンダーバーが
ハイフンにすり替わっているドキュメントはかなりあり
中にはスペースにすり替わっている例もあります

mb_detect_encodingによる自動検出が成功しさえすれば大丈夫なわけで
今回のものは、HTMLソースにシフトJIS以外の文字が使用されているためで
例外的なケースであると思われ、対処しなくてもいいかなあと思いましたが
GeckoやIEはちゃんと表示するのですよね
例外の判断基準はGeckoがどう処理するかというポリシーだったりするので
Geckoが表示できてるものはやらんといかんかなあと思ったり

Gecko/IEは、まさかハイフンを読み替えてるわけはないだろうわけで
単純にコメント部分を解釈しないからなのだろうなあと思います
(もちろんブラウザの自動判別エンジンとmbstringで処理が違うだろうというのもあるでしょうが)
自動判別の前にコメントを除去してやると
mb_detect_encodingもちゃんとシフトJISと判別してくれるわけです
で、しかし現状は、コメントの除去は自動判別の後
なんでかというとエンコーディングが確定していない段階で
あまりいじりたくないから先に済ませてるだけなのですが
試しにこれを先に除去してしまうように改造してみました
不具合が出たら戻します

246KB
掲示板に戻る 全部 前100 次100 最新50

0ch BBS 2007-01-24