[PHP-users 31131] Re: PHP文字エンコーディングについて

MITSUYA MAEDA mitsuya.maeda @ gmail.com
2006年 12月 26日 (火) 09:34:20 JST


さわだ様

前田です。
この度、本件に関してアドバイスを頂きまして誠に有難うございます。
おかげで、文字コードに関する理解が一歩進んだ感じが致します。

皆様のアドバイスに感謝いたします。
有難う御座います。

06/12/25 に Shu Sawada<luna @ lunanet.gr.jp> さんは書きました:
>
> さわだと申します。
>
> もう答えは出てると思うので、一応念のため(よけいなお世話ですが)
>
> #DMで失礼
>
> > 伊東様がお教えくださったファイルを「TeraPad」で表示させますと、「UTF-8N」
> > と表示されましたが、他のファイルを「TeraPad」で表示させますと、やはり「SJIS」
> > と表示されてしまいます。
>
> 基本的には日本語が入っていないと、文字コード判別は出来ないと思います。
>
> > これは、エディタによっては「SJIS」と「UTF-8N」の違いを認識できないということでしょか。
> > 「/index.php」は「SJIS」と表示されます。
>
> 違いを認識できないのではなく、各文字コードに違いが無いため、デフォルトの文字コード
> であるSJISを表示しているだけだと思います。
>
> http://www.kanzaki.com/docs/jcode.html
>
> の"ASCIIとJISローマ字"節の図を見ますと、半角文字は0x21-0x7eに割り当たって
> いるのが見て取れます。
> そのちょっと上にある"EUCで扱う文字コード"という表を見ると、
> G0      0x21~0x7E       -       -       ASCII
> ということで、同じ文字コード範囲で半角英数文字を割り当てています。
> で、シフトJISも、"英数字(ASCII、0x21~0x7E)"と、全く同じ領域に割り当てています。
>
> これでは、テキストエディタさんは当然、どの文字コードなのか判定出来ないわけです。
> (というか、英数字しか無いのであれば、判定することに意味がない)
>
> 一方で、半角でもUTF-8で保存されているコードなら判別できるとおもいます。
> そもそもASCII非互換だから、です。
>
> > 私の経験では、外国語の中でも特に英語のアルファベットであれば、文字コードに関係なく
> > 利用できたりします。このことについては、以前アルファベットは特別、各文字コードで共通の
> > 部分が多いと聞いたことがあります。
> >
> > この件はそのような問題のためでしょうか。
>
> ということで、問題というか、そういう決めごとで世の中回っています、という
> のが結論になると思います。
>
>
> 余談ですが、文字化け対策の「美乳」も同じ系の話です。
> http://www.shtml.jp/mojibake/binew.html
>
> SJISとEUC-JPで文字コードの判定に誤る場合に、EUC-JPにしか出てこない文字を
> 入れておけば判定間違えないよね、というお話ですね。
>
>
> ではでは。
>
> --
> Shu Sawada
> http://luna.lunanet.gr.jp/
> http://www.cycleof5th.com/
>


-- 
前田 光哉 (MITSUYA MAEDA)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆準備中
◆◆mitsuya.maeda @ gmail.com


PHP-users メーリングリストの案内