• ベストアンサー

【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だけをはじきたい場合はどのように書くのがよろしいでしょうか。 ご存知の方いらっしゃいましたらご教示願います。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 > 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)
回答No.3

#補足程度に。 自宅と学校のMySQLは同じバージョンですか? WindowsならSJISにしたいとこですが、私も出来る限り止めた方がいいかと。 if(!$atai)は 0、''、null にヒットします。 関数的にはempty()が近いでしょうか。 if($atai === null) でも判別可能です。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

・!について not、真と偽を逆にします。 「if(!($a == $b))」は「if($a != $b)」と同じです。 「if(!($a != $b))」は「if($a == $b)」と同じです。 「if(!True)」は「if(False)」と同じです。 「if(!False)」は「if(True)」と同じです。

関連するQ&A