- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 文字コードについて)
PHP文字コードについて
このQ&Aのポイント
- PHPの文字コードに関する問題について質問があります。現在、環境のホスティングサーバでSmartyを使ってアプリを作成しています。サーバのPHPバージョンは4.3.7で、mbstring関連の設定値も確認しました。今回、PHPソースはUTF-8、HTML(Smartyテンプレ)もUTF-8で作成したいと考えていますが、どのように設定すれば良いか迷っています。具体的には、「ini_set」を使用するべきか、受け取る際に「mb_convert_encoding」を使用するべきか、または両方を併用すべきかアドバイスを頂きたいです。
- PHPの文字コードについてアドバイスを頂きたいです。現在、環境のホスティングサーバでアプリを開発しており、Smartyを使用しています。サーバのPHPバージョンは4.3.7で、mbstring関連の設定も確認しましたが、どのように設定すれば良いか迷っています。PHPソースとHTML(Smartyテンプレ)はUTF-8で作成したいのですが、どのように設定すれば良いのでしょうか。具体的には「ini_set」を使用するべきか、受け取った際に「mb_convert_encoding」を使用するべきか、または両方を併用すべきかアドバイスを頂きたいです。
- PHPの文字コードに関する質問です。現在、ホスティングサーバでアプリを開発しており、Smartyを使用しています。サーバのPHPバージョンは4.3.7で、mbstring関連の設定も確認済みです。この状況でPHPソースとHTML(Smartyテンプレ)をUTF-8で作成するにはどのように設定すれば良いでしょうか。具体的には「ini_set」を使用するべきか、受け取った際に「mb_convert_encoding」を使用するべきか、または両方を併用すべきかアドバイスを頂きたいです。よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
可能ならphp.iniや.htaccessで設定する必要があると思います。 encoding_translation+http_inputの動作はini_set関数では制御出来ないためです。 そのため、php.iniもしくは.htaccessを利用できない場合は毎回サニタイジング処理を行うと同時にmb_convert_encodingを使用する必要があると思います。 蛇足ですが、私はPHPの自動変換があまり精度が良くないと考えているので、自動変換は行っていません。 複数の入力文字コードで送信される可能性がある場合などはformにcharsetなどの値を埋め込むなどして、システム的に文字コードを把握してmb_convert_encodingを使用したりしています。
お礼
ありがとうございます。 御礼が遅くなって申し訳ありませんでした。 参考になりました。