• ベストアンサー

PHPで文字列(日本語)の比較

PHP5で文字列(日本語)の比較をして処理をしたいとおもっているのですが 意図した通りに動いてくれません。 <input type="submit" name="nihongo" value="日本語" /> としてPOSTで送信 PHP側で $nihongo = $_POST["nihongo"]; if($nihongo === "日本語"){ 処理 } としていますが「処理」の部分を通ってくれません。 trim($nihongo); とかも試してみたのですがだめでした。 おわかりの方がいましたら 宜しくお願いします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

たんに、送信元と受信先で文字コードがちがうんでないすか?

invare
質問者

補足

yambejpさん ありがとうございます。 おっしゃるとおり文字コードが原因でした。 以前に作ったものを共通部分が多かったのでそのまま使っていたのですが 文字コードを調べてみたら今回作っているものとは 違う文字コードで保存してありました。 解決しましたありがとうございます。

その他の回答 (2)

  • xyz846
  • ベストアンサー率27% (15/55)
回答No.2

「==」ではなくて「===」で比較しているのは意味がわかっていて 使っているとして省くとして 根本的な事だけど文字列検索は strcmpあたりを使いましょう。

invare
質問者

補足

xyz846さん ありがとうございます。 「==」ではなくて「===」の意味はわかっています。 質問する前に調べていて今回知ったレベルですが。 皆様の回等ともとに解決いたいしました。 文字コードが原因でした。 しかしstrcmpは使っていきます。 文字コード修正後0となり等しくなりました。

回答No.1

補足要求 print($nihongo); やって内容みたらどうなっている?

invare
質問者

補足

himajin100000さん ありがとうございます。 print($nihongo); 書き出すと日本語と表示されます。 皆様の回等ともとに解決いたいしました。 文字コードが原因でした。

関連するQ&A

専門家に質問してみよう