軽々しくいこう! 2「文字コードの話」


文字コードというのは……説明するとちょっと難しくてややこしくなる。
基本的に、コンピュータは数字しか扱えない。そこで、文字をあつかう場合も番号に直して処理しないとならない。
文字コードとは文字を番号に直し、その番号を元に戻すための「決まり事」を書いた表である。
メールで文章を送る場合、実際は番号の塊を送っているのだが、受け手側と送り手側の「決まり事」が違ってると、番号を元の文章に戻せないので、意味不明の文字がずら〜〜っと並ぶ事になる。
別の暗号表だと解読ができないのと同じ事なのだ。


パッと画面が表示された時、変な文字で画面が一杯という経験がお有りになるでしょうか?
それは、この文字コードの違いで起こる事なのです。
中国や台湾のホームページを見ると、暗号のような訳判らない文字がズラ〜っと並んでいる事があるが、これは中国や台湾で使っている文字コード(コード表)が、日本のコンピュータの文字コードと異なるために起こってしまうのである。
だが、日本語ですらその文字コードが複数あるから話がややこしくなってくる。


ブラウザ(ホームページを見るためのソフト。これを見ているソフトです)の上の方を色々見ていると「文字コード(エンコード)」という項目が見つかると思う。
それを見てみると、日本語だけでも「JIS」「Shift-JIS」「EUC」等々があると思う。
これはブラウザによって表記等に差があるので、別に「これがない!」と焦る事は全くないが、殆どのブラウザはこれらの文字コードには対応している筈である。
最近のブラウザやメールソフトは、これらのコードを自動的に判断して変換して表示をしてくれるので、たいして大騒ぎする必要もないのですが、当サイトの場合、たまに「文字化けしてます」報告があるからややこしい話になってくる。
それを直すには、以下のようにすればいい。簡単な事である。

壱 使用ブラウザの「表示」→「エンコード」→「日本語(EUC,EUC-JP)」を選択。

弐 「再読み込み」でもう一度読み込む。WINは「インターネット一時ファイル」。
  Macは「キャッシュ」を念のため削除しておくと、なおいい。
  MacならばShiftキーを押しながら「再読み込み」で事足ります。
  WINの場合はCTRLキーを押しながら「更新」ボタンですね。

※これは他のサイトでももちろん有効です。日本語のサイトならば「日本語」の箇所を全部試して、
 それでもダメならサイトの管理者に連絡をしてみましょう。

……といっても、これは普段「日本語(自動設定)」に設定しておけば済む事なのですが、それでもたまにこういう事態は起こりますので、是非一般常識として覚えておきましょう。


そもそもなぜこうなるかというと、現在多く使われている文字コードは「Shift-JIS」で、このサイトは「EUC-JP」を使っているからです。
特にホームページ作成ソフトを使用している場合、文字コードは「Shift-JIS」である事が多いです。
ですが「EUC-JP」でないと、当プロバイダ「COOL」の「ブラウザからのファイル編集」という技が使えないからなのです。これをやっておけば、WINDOWSでの確認の時に修正が容易なので。
実は、管理人使用の無料プロバイダーは、ブラウザ上でホームページの修正・編集が可能なサービスを行っている。
確かに、ほんの一文字二文字の修正のために作成ソフトを起動して、修正して、再びサーバーにアップし直すというのは(やった人にしか判らんが)手間ヒマかかり過ぎるのである。
それにWINDOWSで確認していて修正箇所を見つけた時、「修正箇所を逐一メモに書いておき、それを持って自分のMacintosh上のファイルを訂正してからアップし直す」という作業がどれだけ大変か。WINとMacがそばにある訳ではないんですから。
が、それがブラウザ上で変更可能なら、出かけた先のネットカフェでも更新作業ができてしまう。もちろんパスワードが要りますけどね。
あとは修正したファイルを記憶しておき、後日そのタグをコピー&ペーストしてこちらのハードディスク内のファイルに入れてしまえば大丈夫。
……で、この「ブラウザ上で編集作業をする」ためには文字コード「EUC-JP」のデータでないと文字化けを起こしてしまい、何がなんだかさっぱり訳判らんのである。


ですが、この「文字コード変更」の事は意外と知られていないのか、何もしないまま「文字化けするから何とかしろ」と言われる事が結構多いです。
しかし、見る側任せでは余りに不親切。そこで登場するのが<meta>タグと呼ばれるもの。
これは使用用途が幅広く、代表的な物で「文字コード(エンコード)の決定」「著作権の指定」「検索用のキーワード記入」に使用する事が多いでしょうか。
確かにこうしたサイトというものは、見て戴く方の事を考えねばなりません。
しかし、こちらがやりやすいようにという事も考えねばなりません。その中間をとるのは非常に難しいものです。
雑学知識がてら、管理人が調べた事を短くまとめておきます。


「JISコード」

インターネットの前身・JUNETで日本語を含めた電子メールやニュースグループ記事において考案されて以後、インターネットの標準文字コードとして用いられています。「JUNETコード」とも言いますが「ISO-2022」などと言うのが正式っぽいです。
この「JISコード」ですが、これは「エスケープシーケンス」という特殊な文字列によって、どういう文字かを決定しています。
一旦決定されると、以後別のエスケープシーケンスが出て変更されるまで、同じエスケープシーケンスの文字の連続だという意味になります。
が、文章の初めはASCII(アメリカ標準の文字コード)が設定されているものだと仮定されているようです。
そのため、エスケープシーケンスの分だけ、「EUC」「Shift-JIS」に比べてどうしてもファイルサイズが増えてしまいます。
JISコードでは文章の途中だけを抜き出して、この文字が何であるかを決定できません。エスケープシーケンスの最初の決定が見つかるまでさかのぼらなくてはなりません。それが理由で適当に任意の行を切り取ると、エスケープシーケンスが見つからない為に下手なエディタでは文字化けが発生してしまいます。
その為一行単位で切り取っても弊害がないように「行の始まりは、ASCIIで始まる」「行の終わり(改行の直前)は、ASCII文字で終わる」というルールを定めているようです。
ですが、殆どの電子メールソフトにおいては、一旦この「JISコード」に変換して送っているらしいので、事実上一番普及している文字コードと言えるかもしれません。
ちなみにJISとは「Japanese Industrial Standards(日本工業規格)」の略ですよ。


「Shift-JIS」

16bit対応(従来は7bitとか8bit)の新型日本語版パソコンを作ろうとした時、ASCII文字と日本語を共存させるために、Microsoft社やアスキー社などが共同開発した文字コードです。Windows95、DOS、Macintoshに広く使われ、一部UNIXでも採用している事もあります。
そういった訳で、それまで日本の古いマシンで使われていたASCII文字と半角カナのコードは殆どそのまま受け継いだ。
「Shift-JIS」は独自の文字コードながらパソコンの普及により多く利用され、ついに1997年にJIS規格として取りこまれました。
でも「ISO-2022」のしくみに準拠していないため、しばしば批判にさらされる事もあるようだ。
将来的に「Shift-JIS」から半角カナが取り除かれるような意向もある……らしい。


「EUC(EUC-JP)」

正しくは「Extended Unix Code」と呼ばれるUNIXというマシンの標準コードです。日本語環境のUNIXシステムで、ASCII文字と日本語を共存させるために1985年にAT&T社が定めました。「JISコード」をちょっと特殊に独自改良。
日本語版のほかに、各国語版EUCがたくさん作られており、やはりUNIXシステムで使われています。
EUC自身は、日本語だけでなく複数の文字セットを同じテキスト内で処理することが可能というのが特徴でしょうか。


文字コードについての詳しい事は、ネットで検索をかけるかそのテの本を読まれるのがよろしいかと。


※これは2001年10月12日・23日の「(多分)日刊日記掲示板」に書かれた物を編集・加筆修正したものです。


文頭へ メニューへ
inserted by FC2 system