Skip to content

utf-8

PHP in UTF-8

To setup PHP for UTF-8 データベース、スクリプトを記述するファイルの文字エンコーディングはPHPの文字エンコーディングを使用する方が設定が行い易いです。 default_charset=”UTF-8″ ダイナミックコンテンツの文字コードセットは必ず指定しなければならない。(セキュリティ上の理由。詳細は 2000年2月のCERTのXSSアドバイザリを参照) magic_quotes_gpc=off マルチバイト文字エンコーディング環境のみでなく、セキュリティ上も有害であるので必ずoffに設定する。ポータブルなスクリプトの場合、この設定 がonである場合にstrip_slashes()を全ての入力に適用するコードをスクリプトの開始時に実行する。稀に magic_quote_gpc=onである事を前提としているアプリケーションもある。そのようなアプリケーションは使わない方が良い。 mbstring.input_encoding=”pass” 現在のブラウザでHTMLを記述した文字エンコーディング以外で文字を送信してくるようなブラウザはない。(携帯などモバイル環境を除く) mbstring.internal_encoding=”UTF-8″ ブラウザから送信される文字エンコーディングはcharsetと同じはず。プログラム側では必ず送信された文字 エンコーディングが正当なUTF-8エンコーディングであるか確認する事。 mbstring.output_encoding=”pass” 出力はinternal_encodingで行われる。つまりUTF-8。(携帯などモバイル環境を除く) mbstring.language=”japanese” 言語環境を日本語に設定。mb_send_mail関数などの動作に影響する。 mbstring.substitute_charactor=”” 入力に変換出来ない文字エンコーディングを含む場合、アプリケーションの実行を停止しなければならない。本来、セキュリティ上不正な文字を削除すべ きではないが、古いPHP(PHP… Read More »PHP in UTF-8

Set MySQL to UTF-8

Change the following in my.cnf [mysqld] default-character-set= utf8 skip-character-set-client-handshake character-set-server= utf8 collation-server= utf8_general_ci init-connect= ‘SET NAMES utf8′ via M’sNOTE  MySQL(デフォルト文字コード)の設定 – Ubuntu9.04.

MySQL UTF-8

A very informative page (in Japanese) about MySQL and issues to enable correct UTF-8 data handling with client applications. View original post