encode_hintの判定ミス

  • ページ: BugTrack
  • 投稿者: Data?
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2004-03-04 (木) 19:35:56
  • バージョン: 1.4.2

メッセージ

PHP 4.3.4(--enable-mbstring)を使っておりますが、
携帯(N503i)の場合、encode_hintの「ぷ」文字のエンコード判定をミスります。

私は、init.phpの初期設定のところで、以下を追加することで対処しましたが、正しい対処かどうかは不明です。

+mb_detect_order("ASCII,EUC-JP,SJIS");

たぶん、mbstringなしバージョンではバグるかな...


  • 全てのエンコーディングで正しく検出可能な文字を選んであるのですが・・・。サーバーのデフォルトのmb_detecr_orderが、特殊な設定になっていませんか? -- 三浦克介 2004-03-04 (木) 23:20:29
  • php.iniのmbstring.languageはデフォルトがコメントアウトなので、mb_detect_orderがASCII,UTF-8になっていました。php.iniはグローバルな設定値なので、init.phpでmb_language("japanese");するのはどうでしょうか?(要望なんですが) -- Data? 2004-03-05 (金) 16:20:32
    • PHPのマニュアルによれば、mb_language() は、mb_send_mail() でのメール送信時のエンコーディングに影響し、mb_detect_order の初期値は、php.ini での設定(mbstring.detect_order)により決まります。サーバーの設定に左右されないように、スクリプトで設定可能な項目は設定した方が良いなと思って、設定項目を検討しているのですが、PHPのマニュアルでは設定可能と書かれているのに、ini_set() では設定できない項目があったりして、?な状態です。 -- 三浦克介 2004-03-05 (金) 16:32:17
  • なぜか、mbstring.encoding_translation が設定できない(マニュアルでは、設定可能と書いてあるのですが)。仕方無いから、http_input と http_output で設定しておこう。たぶん、以下の設定が正解のはず。 -- 三浦克介 2004-03-05 (金) 17:56:28
    mb_language('Japanese');
    mb_internal_encoding(SOURCE_ENCODING);
    ini_set('mbstring.http_input', 'pass');
    mb_http_output('pass');
    mb_detect_order('auto');
  • cvsに投入しました。cvs:init.php(v1.4:r1.71) -- ぱんだ 2004-03-13 (土) 22:45:01

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-03-23 (火) 22:26:45
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.180 sec.

OSDN