Perl で、Shift JIS でスクリプトを保存するには?

Perl でケータイ向けのサイトを書いているとき、シフトJIS でスクリプトを保存しないければならない場合がある (文字列テーブルなど)。このとき、


Unrecognized character \x81 at ./your.cgi line XX.

といったエラーに悩まされているなら、

my $group = 'グループ';

などのように、「―」を「ー」で表すようにするとよい (Mac の場合は、「ー」が「―」になるようで、この現象が起こる)。または、文字化けする文字の後ろに「\」を付ける。

以下は、Shift JIS で文字化けする文字の一覧。文字化けを起こしやすいよく使う文字は強調しておいた。

文字 - Shift-JIS - Unicode での記述方法


<strong>―</strong>  81 5C   &#x2015;<br />
<strong>ソ</strong>  83 5C   &#x30BD;<br />
Ы  84 5C   &#x042B;<br />
Ⅸ  87 5C   &#x2168;<br />
噂  89 5C   &#x5642;<br />
浬  8A 5C   &#x6D6C;<br />
欺  8B 5C   &#x6B3A;<br />
圭  8C 5C   &#x572D;<br />
<strong>構</strong>  8D 5C   &#x69CB;<br />
蚕  8E 5C   &#x8695;<br />
<strong>十</strong>  8F 5C   &#x5341;<br />
<strong>申</strong>  90 5C   &#x7533;<br />
曾  91 5C   &#x66FE;<br />
箪  92 5C   &#x7BAA;<br />
<strong>貼</strong>  93 5C   &#x8CBC;<br />
<strong>能</strong>  94 5C   &#x80FD;<br />
<strong>表</strong>  95 5C   &#x8868;<br />
暴  96 5C   &#x66B4;<br />
<strong>予</strong>  97 5C   &#x4E88;<br />
禄  98 5C   &#x7984;<br />
兔  99 5C   &#x5154;<br />
喀  9A 5C   &#x5580;<br />
媾  9B 5C   &#x5ABE;<br />
彌  9C 5C   &#x5F4C;<br />
拿  9D 5C   &#x62FF;<br />
杤  9E 5C   &#x6764;<br />
歃  9F 5C   &#x6B43;<br />
濬  E0 5C   &#x6FEC;<br />
畚  E1 5C   &#x755A;<br />
秉  E2 5C   &#x79C9;<br />
綵  E3 5C   &#x7DB5;<br />
臀  E4 5C   &#x81C0;<br />
藹  E5 5C   &#x85F9;<br />
觸  E6 5C   &#x89F8;<br />
軆  E7 5C   &#x8EC6;<br />
鐔  E8 5C   &#x9414;<br />
饅  E9 5C   &#x9945;<br />
鷭  EA 5C   &#x9DED;<br />
偆  ED 5C   &#x5046;<br />
砡  EE 5C   &#x7821;<br />

Comments