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

morikawa php-users@php.gr.jp
Tue, 19 Jun 2001 14:49:56 +0900


アンコール・アンもりかわです。

> 今回は"文字化け"ではなく"変数に代入"できないんです…

最初のメールに
    > メタ文字を含んでいることが原因だとは判っており、
とありますので、特殊文字の関係であるのはご存知なのだと思いますが、

渡辺さんの引用された、

> ■ 一部の文字の後に必ず`\'がつく
> 
> 内部エンコードをShift_JISにしたとき、一部の文字の後に必ず`\'がついたり、
> それ以外の場合でも`"'などの文字が`\"'のようにクォートされる。
> 
> PHPの設定であるmagic_quotes_gpcがデフォルトで有効(On)になっているのが
> 原因です。php3.ini(もしくは、.htaccess)の設定を無効(Off)にするか、スク
> リプト側で、StripSlashes関数を使うことによって取り除くことが出来ます。

のなかの、
    > それ以外の場合でも`"'などの文字が`\"'のようにクォートされる。
が該当するということですよね? ( Input data じゃないですが。)


$str = "ソ" ;
$str = 'ソ' ;
いずれの場合でも、後ろのクオテーションが 「ソ」でエスケープされて
いる(という言い方はおかしいが簡略化のため)ので「ちゃんと閉じられ
てないよ!」と怒られて parse error になる。

なので、「ソ」の後ろにスペースを入れるのがよろしいかと。。。(^^;
#つまりスペースをエスケープさせる...

というよりはやはりEUCで書いたほうが。。。

それ以上のことは分かりかねますが、参考になれば。

PHP初心者向けマニュアル・解説
http://www.beginners-jp.com/web/php/
Morikawa <some@beginners-jp.com>
Co.URL : http://www.encore-ann.com/