ラジオ中継予定確認用ページで使っているphpスクリプトの日本語コードをSJISからEUCに変更。
そもそも、DBへの初期データ投入にMS Accessと日本語化されていないODBCドライバを利用したので、DBの中身がSJISになっていた。そこにひきづられてすべてのHTMLとコードがSJISに。特段それでこれまで困らなかった。しかし、DBの構成変更に伴い、文字列処理関数で日本語を行う必要が出た。ところがマルチバイト文字列関数がうまく動かない。調べてみるとphpのマルチバイト対応は、「マルチバイト文字は、00h-7fh以外を使用する。」というルールがあるそうで、SJISに対応していないのだ。というわけで、そのためにEUCに変更。
コードをEUCにしても、HTTPでの出力コードはSJISのままにすることが可能なので、携帯端末への出力は可能。おまけにDBの中身もEUCになり、ターミナルのコードと同じになったので、コマンドラインからmysql経由でSQLをたたいて中身を確認できるようになった。
というわけで、これからphpでコードを書くときはEUCにしようと思う。ODBCドライバも、日本語対応のものに入れ替えた。
0 件のコメント:
コメントを投稿