へたれCGI講座



7:文字コード(CGI-Perl)編

 さてさて前回の文字コード(基本)は、ご理解いただけたでしょうか? 今回はついにPerlに ついてお勉強です。(と言っても初歩の初歩、文字コードについてですが)

 基本的に、Perl(CGI)で使う文字コードはShift_JISEUCの2種類です。
では、前回とちょっとかぶりますが、軽く二つの特徴について述べてみましょうか。

Shift_JIS 主に、DOS、Windows、Mac系OSで使用されている文字コード
EUC 主にUNIX系(LINUX)で使用されている文字コード

さて、お解りでしょうか。そうです、UPするサーバーに合わせて使用する、というのがまず
基本です。 最近は、UNIX系サーバが主流ですので、配布CGIはEUCのものが多いです。

■ここに注意!■
 えー本当は配布サンプル設置時点で説明しておくべきだったのですが…。
みなさんはCGIを触る際、何を使っていますか?メモ帳、という方、注意です。EUCはUNIX系 日本語コードですのでメモ帳ではEUCコードを対応しきれません。
 私は主に「TeraPad」を使用しています。このTeraPadは文字コードの変更ができます。
また、「PerlEditor」ももちろん文字コード変更対応です。このように文字コード変更に対応し ているエディタを使うことを強くお勧めします。(紹介したソフトは当サイト「PC環境・使用ソ フト」にリンクが貼られています。)
(ちなみにメモ帳には文字数制限もあるのでご注意を。)

 じゃあ、私が使っているサーバーはUNIX系だからEUCでいいのね。と思った方、だいたい 正解です。UNIX系でShift_JISを使うこともできますが、デメリットが大きいです。
ということで次はデメリットについての説明です。

Shift_JIS 1)文字化けしやすい(回避方法はいくつかありますが…)
2)配布スクリプトなどを使用する場合、EUCで書かれた物が多いためShift_JIS
 に変換しなければならない
EUC 1)文字を表示させる際、半角カタカナが使用できない
2)作成、改造などの際、EUCに対応できるエディタが必要

EUCのデメリットで書かれた半角カタカナが使用できないことについてですが、基本的に
ネットでは半角カタカナは御法度です。文字化けの原因になりやすいからです。
ですので、デメリットと言えるほどのものではないと思います。

さて、Shift_JISをUNIX系で使用する場合なんですが…回避方法はあるにはあるんですが、 正直、管理人はな自身、そこまでしてShift_JISを利用するメリットが見いだせません。 半角カナが使いたいから? しかしShift_JISで作成されている方がいるのも事実です。

 そこで、Shift_JISをUNIX系で使用するメリットが理解できましたら 回避方法などを追記でアップしようと思います。

-----追記-----03/01/01
わかりました。追記でーす。
サーバーがUNIX系でも、入力するユーザーはWinなどを利用している人が多いですよね。
掲示板などのCGIを使用する場合、EUCとShift_JISが入り交じってしまうという現象が
起こってしまうのです。この辺りはプログラムをする側の人間が調整しなければいけませ ん。ですから、最初からShift_JISを使ってしまった方が楽な場合があるのです。
回避方法についてですが、様々な方法がありますので、ステップアップごとに追記していき たいと思います。(追記する言ったじゃないかとか言うなオラ←脅すな)
-----追記終了-----

 ということで今回はここまで。
次回はPrint命令とできれば変数まで進みたいと思います。


BACK NEXT
CGI-Index TOP