- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字コード)
WEBアプリケーションでの文字コードの検出方法とは?
このQ&Aのポイント
- WEBアプリケーションでの文字コードの検出方法について教えてください。
- HTMLからのリクエスト文字の文字コードを検出するための方法を教えてください。
- 文字コードの検出について、バイト列を使用する方法が浮かぶが、他にも方法はあるのか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
完全に判定することはできません。 HTTPの仕様ではそういった情報はクライアントから送られないため、 受け取った側でどういった文字コードかを完全に判定する方法がないのです。 じゃあどうするか? 1.バイト列から判別する バイト列からある程度推測できます。しかし、複数の文字コードで 重複する部分があるので、EUCである、Shift_JISであると必ずしも 特定できないケースがあるのです。 それを踏まえたうえでバイト列から判別するとしたら、 それをやってくれるのが JISAutoDetectです。 JISAutoDetectの判別は納得いかないというのでしたら、 自分でバイト列から判断してもよいでしょう。 2.きめうちする クライアントから送られてくる文字列は、文字コード???だと 決め付ける方法です。 ブラウザが送信する文字コードは、表示しているページと同じ文字コードで 送信するのが普通です。EUCで表示したページからはEUCで送られてきます。 送信される元のページが決まっているのでしたら、きめうちしても ほぼ大丈夫でしょう。 ただし、ブラウザの動作が一般的の動作の場合なので、ひょっとしたら そういった動作をしないブラウザもあるかもしれません。
お礼
回答ありがとうございます。 やはり、完全に、判定する方法というのは、難しいんですね。 そして、2つの例をあげていただきありがとうございました。 私は、1つ目方法を取りたいと思いますが、どこか、 解説している、HP、書籍等ありますか?