[PHP-users 12460] Re: UTF-8の扱いについて

Moriyoshi Koizumi php-users@php.gr.jp
Wed, 8 Jan 2003 22:23:35 +0900


小泉です。

On Wed, Jan 08, 2003 at 05:40:27PM +0900, Nobuhiro Miyatake wrote:
> いつもお世話になっています、宮武と申します。
> 
> 現在、PHPをバックエンドにFlashアプリケーションを開発しています。
> ここで、PHPのUTF-8の扱いについて少し疑問を持っています。
> PHPは内部コードEUC-JPで、クライアントはFlash MX、その間の
> 日本語コードはUTF-8(with urlencode)としています。

UTF-8を使って出力したいのでしたら、PHPの内部コードもUTF-8に
したほうが混乱を避けられていいと思いますよ。
EUC-JP を使う必要は別段ありません。
ただし、お使いのエディタによってはファイルの先頭にBOAコードを
付加するので、header() 関数が思うように動作しない現象に
ぶちあたるかもしれません。これについては過去ログを参照してください。

> ここで問題となるのが、"〜"や"−"といった文字の変換結果がFlash上で
> 別の文字となって表示されてしまう点です。色々と調べた結果、
> http://homepage1.nifty.com/nomenclator/unicode/sjisdiff.txt
> ここに至りまして、これらの文字に相当する部分を変更したPHPを
> 作成することで何とかうまく表示されるようになりましたが、
> 今後もこれをやらねばならないのかと思うと少々憂鬱になります。
> (ext/mgstring/unicode_table_ja.h を変更)

大垣さんのおっしゃるとおり、euc-jp とせずに、eucjp-win を指定することで
問題を解消できそうです。

# 余談ですが、flash 6 以前は文字コードはクライアント依存で、
# *nix 上のクライアント(mozilla)だとテキストボックスの文字が
# 正しく送られないというバグがありましたね。