文字コード : PHP
PHPの文字周りの覚書PHPにおける文字コードの基本
参考サイト >>PHPの文字化けを本気で解決する – ぎじゅっやさん変換の基準となる文字コードを一つ設ける。 文字コードの変換はすべてプログラム上で行い、 自動変換させるのは極力無くす。 これが最も効果的な方法。 引用サイト PHPの文字化けを本気で解決する – ぎじゅっやさん
フォームからの送信される文字コード
フォームから送信されるPOSTデータは、フォームを記述したHTMLファイルの文字コードで送信される。mbstring.internal-encoding
mbstring.internal_encodingはmbstring関数の変換元文字コードのデフォルト値。 mbstring関数で変換元コードを指定すると値を上書き。 php.iniの設定 mbstring.internal_encoding = utf-8 phpコード $str = mb_convert_encoding($str, ‘sjis’); UTF-8からSJISへ変換する。 下記と同じ動作をする。 $str = mb_convert_encoding($str, ‘sjis’, ‘utf-8′); ※mbstring関数は原則、変換元文字コードと、変換先文字コードを入力するべき。default_charset
default_charsetに値を設定すると出力時に下記のコードが自動で出力される。 header(‘Content-Type: text/html; charset:設定値’) UTF-8の場合 php.iniの設定 mbstring.default_charset = ‘utf-8′ 出力コード header(‘Content-Type: text/html; charset:utf-8”) default_charsetをオフにした場合はプログラム内でContent-Typeを記述する header(‘Content-Type: text/html; charset:設定値’) 文字化けを防ぐ場合はプログラムで、header関数とmetaタグで文字コードを指定するのが良い。 utf-8の場合header("Content-Type: text/html; charset=utf-8");
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
print('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />');
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
PHPの初期設定方法
- php.ini
- htaccess
- ini_set関数
文字関連の設定
>変換の基準となる文字コードを一つ設ける。 UTF-8とする。 PHPプログラムファイルの文字コードはUTF-8とする。;; Disable Output Buffering
output_buffering = Off
;; Set HTTP header charset
; default_charset = utf-8
;; Set default language to Japanese
mbstring.language = Japanese
;; HTTP input encoding translation is enabled.
mbstring.encoding_translation = off
;; Set HTTP input encoding conversion to auto
mbstring.http_input = pass
;; Convert HTTP output to UFT-8
mbstring.http_output = pass
;; Set internal encoding to UTF-8
mbstring.internal_encoding = utf-8
;; Do not print invalid characters
mbstring.substitute_character = none
mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII
関連記事
- 関連記事は見つかりませんでした。
検索ボックスからの検索もお試しください。
コメント
Trackbacks
-
[...] UTF-8のページがIEで表示されない PHPの文字周りの覚書 header(“Content-Type: text/html; [...]
コメントの投稿
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。
トラックバックURL
http://www.findxfine.com/programming/php/1189.html/trackback