タグ :

文字コード : PHP

投稿日 : 2009年4月26日 | 更新日 : 2010年09月16日 前のページへ戻る

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

PHP | 固定リンク | Comments (1)

関連記事

    関連記事は見つかりませんでした。
    検索ボックスからの検索もお試しください。

このページの上へ移動

コメント

Trackbacks

  1. [...] UTF-8のページがIEで表示されない PHPの文字周りの覚書 header(“Content-Type: text/html; [...]

    ピンバック by ヘッダに文字コード【PHP】 | tycolとweb — 2010年5月13日 @ 2:08 PM


コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。

 

 

 


トラックバックURL

http://www.findxfine.com/programming/php/1189.html/trackback

このページの上へ