- ベストアンサー
【PHP+MySQL】質問二点/日本語の問題/“!”判定の意味
よろしくお願い致します。 apache2.2+PHP5+MySQL5で勉強中です。 ■日本語の問題について MySQLもPHP(HTML)も全てSJISで取り扱いたいと思っております。 自宅PCと学校PC共に同じ様にインストール及び設定したと思うのですが (違う所といえばOSがXPhome(自宅)とXPpro(学校)くらいでしょうか) 自宅PCではPHPでDB接続して、mysql_query("SET NAMES sjis"); の一文を入れなければブラウザで日本語出力ができません。 学校PCではこの一文なしに日本語が表示されるのですが…。 できればSETSQLなしにできればと思っているのですが、 設定ファイル(ini)か何かの問題でしょうか。 ■“!”判定の意味について if(!$atai)で判定すると 0 もNULLと同じ様にかかってくるのですが。 この!はどういう意味の判定なのでしょうか。 またNULLだけをはじきたい場合はどのように書くのがよろしいでしょうか。 ご存知の方いらっしゃいましたらご教示願います。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
がると申します。 > MySQLもPHP(HTML)も全てSJISで取り扱いたいと思っております。 可能な限り全力でお避けになることをお勧めいたします。面倒なトラブルが続きますので。 文字コードは、EUCまたはUTF-8が無難です。 ! の意味については#1さんの回答をご覧ください。 > NULLだけをはじきたい場合 は、is_null ( http://jp.php.net/manual/ja/function.is-null.php ) という関数を用いるのが適切かと思います。 以上、簡単ではございますが。
その他の回答 (2)
- tany180sx
- ベストアンサー率63% (239/379)
#補足程度に。 自宅と学校のMySQLは同じバージョンですか? WindowsならSJISにしたいとこですが、私も出来る限り止めた方がいいかと。 if(!$atai)は 0、''、null にヒットします。 関数的にはempty()が近いでしょうか。 if($atai === null) でも判別可能です。
- chie65536
- ベストアンサー率41% (2512/6032)
・!について not、真と偽を逆にします。 「if(!($a == $b))」は「if($a != $b)」と同じです。 「if(!($a != $b))」は「if($a == $b)」と同じです。 「if(!True)」は「if(False)」と同じです。 「if(!False)」は「if(True)」と同じです。