• 締切済み

言語コードの取得について困ってます!

こんばんは。 言語コードの取得について質問です。 アクセス者の言語コードを、PHPで次のような感じで取得し取っているのですが… (print のところは、ログファイル書き込みにしています) </p> $aaa =htmlentities($_SERVER["HTTP_ACCEPT_LANGUAGE"],ENT_QUOTES,'UTF-8'); print $aaa; 以下省略 ・・・ ?> ログファイルで、取得した言語コードを見てみると・・・ 主に、jp(日本)、en(英語)が多いのですが、たまに 言語コードが何も取得されてないの場合があります。(空) 何故、空(無し)の場合があるのでしょうか? 必ずしも $_SERVER["HTTP_ACCEPT_LANGUAGE"] で言語コードが取得するとは限らないのでしょうか? 確実に、どんな言語コードも取得する方法があったら教えて頂けると助かります。 中途半端な知識で対応できず、苦しんでおります。 どなたかご存知でしたら、色々と詳しく教えて頂けると助かります。 合わせて宜しくお願い致します。

みんなの回答

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>必ずしも $_SERVER["HTTP_ACCEPT_LANGUAGE"] で言語コードが取得するとは限らないのでしょうか? ブラウザ依存ですし、そもそもクライアントはブラウザだけではありません。 >確実に、どんな言語コードも取得する方法があったら教えて頂けると助かります。 そんなものはありません。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 ブラウザ(というかhttpでアクセスしてきた何か)が送出していないから、取得できていないものがあります。 たとえば、botと呼ばれるものの中には送出しないものがあります。 その場合は、空になってしまいます。 アクセスしてきたものがその情報を送信しているかどうかに委ねられていますので、取れないものがあるのは仕方ありません。 USER_AGENTとかもそうですが、これも送ったり送らなかったり、はたまた偽装も簡単です。

関連するQ&A

専門家に質問してみよう