[PHP-users 114] Re: SJISでの全角文字について

ozaki php-users@php.gr.jp
Tue, 19 Jun 2001 14:25:11 +0900


尾崎です

検索等をして下の文章は読みましたが
今回は"文字化け"ではなく"変数に代入"できないんです…

ちなみに、magic_quotes_gpcはOFFになっておりpostした値として代入したり、
DBから引いた値を代入、又は半角で代入してから全角に変換しても問題は出ません

>
> 渡辺です。
>
> #文字コードの設定の悩みの関してはひとごとじゃないんで。。。
>
> "ozaki" wrote on Mon, 18 Jun 2001 23:45:09 +0900
> with Subject: [PHP-users 97] SJISでの全角文字について
> > 尾崎です
> >
> > 初歩的な質問ですが完全に嵌ってしまいましたので
> > アドバイスをお願いいたします
> >
> > <?
> > $str = "ソ";
> > print $str;
> > ?>
> >
> > でパスフレーズエラーが起こります
> >
> > 内部文字コード EUC-JP
> > ソースはSJISで書いています
>
>
> php4_jstring-1.1.1.tar.gz パッケージの中のreadme.jpに、
> 下記のような記述がありました。御参考まで。
>
>
> ■ 一部の文字の後に必ず`\'がつく
>
> 内部エンコードをShift_JISにしたとき、一部の文字の後に必ず`\'がついたり、
> それ以外の場合でも`"'などの文字が`\"'のようにクォートされる。
>
> PHPの設定であるmagic_quotes_gpcがデフォルトで有効(On)になっているのが
> 原因です。php3.ini(もしくは、.htaccess)の設定を無効(Off)にするか、スク
> リプト側で、StripSlashes関数を使うことによって取り除くことが出来ます。
>
> また、日本語文字列だけ取り除くには、$quote_strが、Shift_JISで表現されて
> いるならば ereg_replace関数を用いて、
>
> ereg_replace(sprintf("([%c-%c%c-%c]\\\\)\\\\",0x81,0x9f,0xe0,0xfc),
> "\\1",$quote_str);
>
> とすれば、可能です。
>
> Shift_JISでの「一部の文字」の例(部分):
> ―⊇そソЫ綾噂化浬棺欺興圭現構砂蚕悉十晶申製曾遜箪捗貼峠能判表塀暴冥予僚禄
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>
>