- ベストアンサー
perlでは誤字がないのに、ブラウザで見ると文字化けします。
perlでは、 print "申し訳ありません"; と、記述しても、ブラウザでは、「垂オ訳ありません」と表示されてしまいます。 また、そういう箇所が、多々あるんですがこれってどうやって修正するのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
文字コードの問題ですね。 YUNTAKUさんのおっしゃるとおり、該当文字の前に「\」を付ければ回避できます。 これ以外に該当する文字や、この現象がおこる詳細に関しては、参考URLをご覧下さい。(^-^)
その他の回答 (3)
- leaz024
- ベストアンサー率75% (398/526)
「文字化け」あたりで検索すれば、結構見つかると思うのですが、、 これは2バイトコード(全角文字)の2バイト目のコードが5Cの場合に、これが\と認識されて文字化けがおきます。(5Cは「\」の文字コード。この場合「申」の2バイト目が5C) よって「申\し訳ありません」のように、「申」の後ろに「\」を付ければ直ります。 ただ2バイト目が5Cの文字全てを調べながらの作業は大変なので、文字列をシングルクォートで囲んで「\」の働きを無効化した方がラクです。 つまり print '申し訳ありません'; とすればOKです。変数の表示が必要なら print '申し訳' . $val . 'ありません'; のようにします。少し面倒ですが。
お礼
一応ここで、「文字化」で検索かけたのですがねぇ 気が付きませんでした。すみません。 コードが¥と同じとは、しりませんでした。 理屈さえわかれば、怖いものなしですね(笑) ありがとうございます。
- natural
- ベストアンサー率37% (419/1115)
文字コードが違っているのではないでしょうか。 編集時の文字コードと出力部で指定する文字コードを確認しましょう。
- YUNTAKU
- ベストアンサー率25% (32/128)
垂オ訳ありません ↓ \申\し訳ありません の様に文字化けする文字の前に\マークをつけたら直りますよ!
お礼
自分で\を"申"の前に付けてみたのですが、ダメでした。 "し"の前にもつけないとダメなんですね。 ありがとうございます。
お礼
参考URL、助かります。 ありがとうございます。