• 締切済み

円マークが付加されて保存されてしまいます

openPNEをインストールしたのですが、文字列を登録するとMYSQにはなぜかところどころにバックスラッシュ(円マーク)が付加されて保存されてしまいます。 具体的な例ではたとえば日記などで 「6月頃から」 と入力すると 「6月\頃か\ら」 となってしまいます。 phpMyAdminで確認すると 「6月(バックスラッシュ)頃か(バックスラッシュ)ら」 と保存されています。 どうか解決策を教えてください。 よろしくお願いいたします。

みんなの回答

回答No.5

もうだいぶ前の投稿なので、解決したのかもしれませんが、一応書いて置きます。 原因は、PHP関数で、mysql_real_escape_string と言うのがあるのですが、これが、エスケープをつけてしまっているようです。既に(この質問からずいぶん経つので。。。)PHPでは、INSERTや、UPDATEによる、弊害や、SELECTによるログインハックなど、デフォールトでエスケープされていますので問題ないとは思います。なので、私は、この、mysql_real_escape_string をスキップしてしまいました~。この関数呼び出しの場所は、私はMysqlを使っていますので, openpne/lib/include/DB/mysql.php の、関数escapeSimple($str)で呼ばれています。ここで、単に$strをそのままリターンさせると、問題なさそうですよ。

noname#97996
noname#97996
回答No.4

ほぉほぉ… MySqlに問題がありそうですね! ここを参考に http://puchiko.lowtech.ne.jp/index.php?itemid=314 やってみていただけます?

noname#97996
noname#97996
回答No.3

んー… マジッククオート以外で「¥」が付いちゃうような事例が見当たらないですね… すみません… お力になれず…; phpの設定でマジッククオートをチェックするのに簡単なスクリプトです。 --- test.php --------------------------------------------- <form action="<?= $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="text" name="textbox" value=""> <input type="submit" value="送信"> </form> 入力文字: <?php print htmlspecialchars( $_POST["textbox"] ); ?> ----------------------------------------------------------- 的外れですみません…;

wakasoh
質問者

お礼

上記のtest.phpで試してみましたが、ブラウザ上では正常なようです。 openPNEでも入力した後の確認画面までは正常で、更新ボタンを押した後にMYSQLに格納されて\が追加されてしまうようです。 色々と何度もありがとうございました。 また何かお気づきになられましたらよろしくお願いいたします。

noname#97996
noname#97996
回答No.2

iniの設定は反映されていますか? phpinfo()等で確認できますか?? 設定変更後のapacheの再起動はできていますか??? 連続して質問してすみません… ちょっと確認してみてください…

wakasoh
質問者

補足

ありがとうございます。 apacheの再起動も反映も確認できています。 ただmagic_quotes_gpcの変更で本件の解決はできませんでしたが、この変更でpostfixadminで不具合が起きた様なので元に戻しました。 引き続き何かわかりましたらお願いいたします。

noname#97996
noname#97996
回答No.1

PHPの設定ですね。 php.iniの設定でマジッククォートというものがあります。 (詳細はhttp://search.net-newbie.com/php/security.magicquotes.disabling.html) その設定をいじっていただく必要があります。 もし仮にレンタルサーバ等でphp.iniを編集する事ができないのであれば .htaccess にphp_flag magic_quotes_gpc Off の一行を追加して実行ディレクトリに保存してみてください。

wakasoh
質問者

補足

ご回答ありがとうございます。 専用サーバーなので早速php.iniの変更で試してみましたが状況は全く変わりませんでした。 他に何か対策はありますでしょうか? 回答に必要な設定値等は分かる範囲で調べますので、どうかよろしくお願いいたします。

関連するQ&A