文字コードの問題
Perlは基本的にShift-JISには対応していません。
Shift-JISとは、一般的にWindowsのパソコンで使用される文字コードです。
他の文字コードを使用するときには、テキストエディタで保存するときに、Shift-JIS以外の文字コードを指定します。
またどういった問題が起こるかというと、たとえば次のような場合です。
#!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "表示";
これは特に問題がないように見えますが、実際に表示してみると次のようになります。
侮ヲ
これは『表』の文字コードが『955C』になっていて、『5C』がエスケープ文字『\(¥)』を表すからです。
[参考記事] Shift-JISの文字コード表
それぞれの文字コードをまとめると次のようになっています。
文字 | 文字コード |
---|---|
表 | 955C |
示 | 8EA6 |
侮 | 958E |
ヲ | A6 |
つまり
表 示 955C 8EA6
となるはずのものが、『5C』が無視されるため
侮 ヲ 958E A6
となってしまうのです。
正しく表示させるには次のようにします。
#!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "表\示";
関連記事
スポンサーリンク