PHPの内部エンコードと出力文字コード、スクリプト文字コード
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
PHPには、内部エンコードという設定(mbstring.internal_encoding)があって、php.ini で指定する。
共用レンタルサーバーなどでは、php.ini 直接いじることができない場合もあるので、その場合は、スクリプト中または、.htaccess 内で指定すると、php.ini の設定を変更できる。
スポンサーリンク
たとえば、mb_convert_encoding()の第三引数のデフォルトとして
使われるものです。
上記ページが参考になりました。
現在、オープンソースのシステムを改良・拡張中で、この内部エンコードと出力コードが違って、時折バグが出るという問題に凄い時間、頭を悩ませました。
以下の.htaccess を設置して問題解決。
php_value mbstring.language Japanese php_flag mbstring.encoding_translation On php_value mbstring.script_encoding UTF-8 php_value mbstring.internal_encoding UTF-8
php_value mbstring.script_encoding UTF-8 で、スクリプトソースの文字コードも、UTF-8に指定する。
あとで、phpinfo を確認したところ、php_value mbstring.script_encoding 、 php_value mbstring.internal_encoding において、Master Value の値が、「no value」となっていました。
サーバーが変わると、php.ini の設定が変わってPHPが動かないのは、けっこう気づきにくいかもしれないので、覚書でした。
スポンサーリンク
>> 次の記事 : htmlentities() と htmlspecialchars() の違い
<< 前の記事 : PHPのデバッグ・xdebugをxamppで有効にする
- - 関連記事 -
- strpos() や strcmp() など間違えやすいif文での判定
- htmlentities() と htmlspecialchars() の違い
- PHPのデバッグ・xdebugをxamppで有効にする
- CakePHPの日本語対応、国際化
- コマンドラインでPHPが起動できない
- 直接ファイルが実行されたときだけ起動するスクリプト
- ディレクトリを探索してリンク一覧表示
- PHPとRubyのコードの書き方を比較
- コメントアウトの使い分けと、/*** ~ ***/とか// — を単語登録
- PHPでvar_dump()を使ったお手軽デバッグコード
- プログラミング練習問題をPHPで解いてみた
- CakePHPはMVCかつフルスタックのフレームワーク
- PHP5のクラス定義とオブジェクトのおさらい
- フレームワークCakePHPにチャレンジ
- sort・asort・ksort 配列を並べ替える関数
- foreach構文
- PHPの配列
- strcmp関数
- strcasecmp関数
- PHPヒアドキュメント
スポンサーリンク