[PHP-users 1467] Re: 絵文字の処理について

BosProject T.Takeuchi php-users@php.gr.jp
2001年8月24日 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
>

AltStyle によって変換されたページ (->オリジナル) /