[PHP-users 1467] Re: 絵文字の処理について
BosProject T.Takeuchi
php-users@php.gr.jp
Fri, 24 Aug 2001 06:07:18 +0900
竹内です。
> i18n.http_output = SJIS
> i18n.internal_encoding = EUC-JP
私のサーバーで試してみたのですが、どうも内部エンコードを
php3.iniでEUCに指定していると上手くいかないようで、内部
エンコードを指定しなければ下記のコードでエスケープさせる
ことができました。
/*
// i-mode絵文字対策
// $str 絵文字チェック該当文字列。文字コードはS-JISとする
// $mode 絵文字を10進数表記(例:)する場合はTRUE、
// 削除してしまう場合はFALSE
// 戻り値の文字コードはS-JISのままである
*/
function i_mode_convert($str,$mode){
$converted = '';
$str_array = unpack("C*",$str);
for($i = 1;$i <= (count($str_array));$i++){
if(0xf8 == $str_array[$i] || $str_array[$i] == 0xf9){
if($mode){
$j = $i + 1;
$hex = dechex($str_array[$i]) . dechex($str_array[$j]);
$converted .= '&#' . hexdec($hex) . ';';
}
$i++;
}
else{
$converted .= pack("C",$str_array[$i]);
}
}
return $converted;
}
もし良かったら試してみて下さい。
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
合資会社ボスプロジェクト
竹内 輝明 webmaster@bos-project.com
〒606-0066
京都市左京区上高野水車町1
TEL 075-707-9465 FAX 075-707-9466
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
----- Original Message -----
From: "Hisatoshi Yamazaki" <1211735101@jcom.home.ne.jp>
To: <php-users@php.gr.jp>
Sent: Thursday, August 23, 2001 8:48 PM
Subject: [PHP-users 1460] 絵文字の処理について
> 山崎です。
>
> 現在、携帯向けのウェブサイトの開発を行っているのですが、
>
> i-modeの絵文字を含んだ文字列を 携帯 → Webサーバ → オラクル
>
> というようにDBに入れると文字化けしてしまいます。
>
> 文字化けせずに、データを格納&表示を行いたいのですが、
>
> どのようにすれば文字化けを回避できますでしょうか?
>
> 当方の環境は・・
>
> php-3.0.18-i18n-ja-2.
> apache1.3.20
> Oracle8.1.6 WGS (キャラクタセットは JA16EUC)
>
> php3.ini の設定は・・
>
> i18n.http_output = SJIS
> i18n.internal_encoding = EUC-JP
> i18n.script.encoding = EUC-JP
> i18n.http_input = AUTO
> i18n.http_input_defalut = SJIS
>
> WEBサーバ → DBサーバ へのデータの受け渡しですが、
> WEBサーバでは何のデータの加工もせず、そのまま
> オラクルのストアドプロシージャにデータを渡して、INSERTしています。
>
> みなさんは、絵文字の処理はどのように行っておりますでしょうか?
>
> よろしくお願い致します。
>
> /* 山崎 桐歳 */
> /* 1211735101@jcom.home.ne.jp */
>
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>