back_to_index

Drifting Antigone Frontline

charset対応 受信側 おしえてphpのえらいひと

2003/03/15 04:03 JST

b2trakback.phpで、
$charset = $HTTP_GET_VARS[’charset’];
と、
$charset = $HTTP_POST_VARS[’charset’];
とを該当部分に加える。このへんはいい。
で、データベースにデータを入れる直前に、
if(eregi($charset,"shift_jis")){$enc=2;}
elseif(eregi($charset,"iso-2022-jp")){$enc=3;}
elseif(eregi($charset,"utf-8″)){$enc=4;}
elseif(eregi($charset,"euc-jp")){$enc=1;}
else{$enc=0;}
$comment = JcodeConvert($comment, $enc, 1);
$author = JcodeConvert($author, $enc, 1);
する。
知りたいのはここがあってるかどうか。自信ないです。
プリーズサポート。

追記 と、いうことはこんな感じだろうか。

if ($charset==""){$charset="auto";}
else {$charset = strtoupper(trim($charset));}
$comment = mb_convert_encoding($comment,"EUC-JP", $charset);
$author = mb_convert_encoding($author,"EUC-JP", $charset);

  1. s11って、mbstring入っていないんですか? s27は入っていたけど。jcode.phpsを使うのならば、
    $encodingList = array(
    \"euc-jp\" => 1,
    \"sjis\" => 2,
    \"shift_jis\" => 2,
    \"jis\" => 3,
    \"iso-2022-jp\" => 3,
    \"utf-8\" => 4
    );
    $enc = intval($encodingList[strtolower(trim($charset))]);
    とか。これはmbstring系関数とjcode.phpsとの互換性を取るために作った関数の一部ですけど。

    Comment by ishinao — 2003/03/15 @ 2003/03/15 12:29 JST

  2. ありがとうございました。いえ、たんに不勉強でつかえなかっただけです。

    Comment by jouno — 2003/03/15 @ 2003/03/15 21:24 JST