• ベストアンサー

perlでは誤字がないのに、ブラウザで見ると文字化けします。

perlでは、 print "申し訳ありません"; と、記述しても、ブラウザでは、「垂オ訳ありません」と表示されてしまいます。 また、そういう箇所が、多々あるんですがこれってどうやって修正するのでしょうか?

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

  • ベストアンサー
noname#1785
noname#1785
回答No.2

文字コードの問題ですね。 YUNTAKUさんのおっしゃるとおり、該当文字の前に「\」を付ければ回避できます。 これ以外に該当する文字や、この現象がおこる詳細に関しては、参考URLをご覧下さい。(^-^)

参考URL:
http://www.kent-web.com/pubc/jcode/
Iam2888
質問者

お礼

参考URL、助かります。 ありがとうございます。

その他の回答 (3)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.4

「文字化け」あたりで検索すれば、結構見つかると思うのですが、、  これは2バイトコード(全角文字)の2バイト目のコードが5Cの場合に、これが\と認識されて文字化けがおきます。(5Cは「\」の文字コード。この場合「申」の2バイト目が5C)  よって「申\し訳ありません」のように、「申」の後ろに「\」を付ければ直ります。  ただ2バイト目が5Cの文字全てを調べながらの作業は大変なので、文字列をシングルクォートで囲んで「\」の働きを無効化した方がラクです。  つまり    print '申し訳ありません'; とすればOKです。変数の表示が必要なら    print '申し訳' . $val . 'ありません'; のようにします。少し面倒ですが。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=99070
Iam2888
質問者

お礼

一応ここで、「文字化」で検索かけたのですがねぇ 気が付きませんでした。すみません。 コードが¥と同じとは、しりませんでした。 理屈さえわかれば、怖いものなしですね(笑) ありがとうございます。

  • natural
  • ベストアンサー率37% (419/1115)
回答No.3

文字コードが違っているのではないでしょうか。 編集時の文字コードと出力部で指定する文字コードを確認しましょう。

  • YUNTAKU
  • ベストアンサー率25% (32/128)
回答No.1

垂オ訳ありません ↓ \申\し訳ありません の様に文字化けする文字の前に\マークをつけたら直りますよ!

Iam2888
質問者

お礼

自分で\を"申"の前に付けてみたのですが、ダメでした。 "し"の前にもつけないとダメなんですね。 ありがとうございます。

関連するQ&A