• ベストアンサー

if文を何度も続けていて途中からエラーになった。

こんばんわ。いつもお世話になっています。 干支の振り分けで $eto=$yuri % 12; if ($eto == 0){ print "寅"; } if ($eto == 1){ print "卯"; } と干支を振り分けていたのですが if ($eto == 5){ print "未"; } までは正常に動いていたのですが、 if ($eto == 6){ print "申": } のところで500エラーになりました。 コピーペーストなので書き方は一緒です。 なぜ6以降はエラーになるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.2

お使いの文字コードがShift_JISだとすると、「申」は \x90\x5C で2バイト目の \x5C は「バックスラッシュ」(日本語キーボードでは「¥」)です。 そのため、次の字をエスケープするものと誤認してエラーになります。 この場合は、とりあえず「申\」としてやればエラーは回避できます。 これ以外にもShift_JISではいくつかの文字でこういうエラーが発生します。「文字コード Shift_JIS」などでググってみましょう。

xphp
質問者

お礼

ありがとうございました。\をつけたら回避できました。

その他の回答 (1)

回答No.1

質問文では「申」の文末がセミコロンではなくコロンになっていますが…

xphp
質問者

補足

すいません書き間違えました。cgiでは;になっています。 がエラーです。よろしくお願いします。