すっかり忘れていた「ソ」
2008年8月5日 [TIPS, TIPS - PHP(MySQL)]SM検定で、いろいろな名前を試していたら、突然のエラー!
なぜなぜなぜなぜ…。
エラーがでた名前をちょっとずつ変えて試してみると…
「ソ」がエラー!
そういえば、PHPをShift-JISで使っているときに特定の文字で
エラーがでるってのがあったっけ。
実は、いろんな理由で(本当の理由は忘れちゃったけど…)
すべて(Blogなどはのぞく)のページはShift-JISで作っています。
よくいままでエラーがでなかったなぁ…
と、PHPを学び始めた頃のサイト「サプリインデックス」のスクリプトを見てみたら…
ちゃんと処理してる!
てか、一度サイトを作ると同じようなスクリプト(特にSQL関係)は
コピーして、修正して作ってるから、なかなかきちんとPHPを暗記できない…。
前置きが長くなったけど、結局エラーの元は
Shift-JIS下での文字化け。
いまさら、EUCとかにするのは超面倒なので、
「ソ」などに含まれる文字コード末尾5Cを削除する措置に。
ま、いたって簡単なんだけど
(この場合のスクリプトは、POSTで変数を渡すので)
$hoge = stripslashes($_POST["hogehoge"]);
で、あっさり解決。
たまには、PHPのマニュアルとか読まないと…(汗)。
このへんが、完全我流の悲しいところ。
ちなみに、これはPHP.ini設定で
magic_quotes_gpc = On
のときです。
Offのときは
$hoge = addslashes($_POST["hogehoge"]);
らしいが、使ったことがないので詳しくはわかりません…。
