PC/NETのetcetra/2004-07-26

Last-modified: 2005-09-17 (土) 19:53:12 (6795d)
※※このサイトは2012年頃より更新を停止しています。※※

PHP - pukiwikiプラグイン

  • kifubbs 書き込み文字コード変換関数
    pukiwikiは1.4系だと携帯からの閲覧も可能になっています。
    そのおかげでプラグインによって生成されるページも携帯で見れるようです。
    で掲示板に利用させて頂いてるプラグイン「kifubbs」だけど、携帯からの書き込み時に文字化けしてしまう問題が発生していました。携帯のブラウザがデフォルトの入出力でShift-JISを使うからでしょう。

    ということで、
    携帯からも書き込みができるようにpluginのソースに自己流の修正を加えてみました。
    うまく動作してるようなので、本家さんでバグ修正未対応のようであれば、修正した手順などをフィードバックしてみようかな。
    こんな感じ。

    • kifubbs/common.inc.php 内
      /**
       * 渡された配列のencodingを判定してデータを全て第2引数指定のエンコードに変換して返す。
       * 第2引数が指定されてなければ、設定中の内部文字コードにして返す。
       */
      function kifubbs_enc_conv($array,$to_enc){
      	$elm = array();
      	if( empty($to_enc) || !(@mb_preferred_mime_name($to_enc)) ){
      		$to_enc = mb_get_info("internal_encoding");
      	}
      	while( list($key,$val) = each($array) ){
      		$from_enc = mb_detect_encoding($val,"auto");
      		$elm[$key] = mb_convert_encoding($val,$to_enc,$from_enc);
      	}
      	return $elm;
      }
    • kifubbs/main.inc.php 内
      コンストラクタ中の
      //新規投稿 //返信投稿 //書き換え投稿  部分の
        $arg['post'] = $_POST;
      を下記のように修正
        $arg['post'] = kifubbs_enc_conv($_POST);

コメントはありません。 コメント/PC/NETのetcetra/2004-07-26

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS