CodeIgniter 文字コード変換
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[CodeIgniter]]
Tips モバイル(ガラパゴス携帯電話 対応サイト)
#contents
* 文字コード変換 [#bc47eb6e]
- CodeIgniter内は、UTF-8で処理する。
- HTMLページでは、Shift_JISで表示する。
* リンク [#o2ae2251]
- [Codeigniter-users] CodeIgniterでのPOST値の日本語受け取...
http://sourceforge.jp/projects/codeigniter/lists/archive/...
>> CIのファイルinput→CIのファイルoutputだとPOSTの値が...
>これは CI が入力値をサニタイズしていることが原因です。
$config['charset'] = 'UTF-8';
の場合、core クラスの Utf8 クラスが追加の処理をします。
clean_string() メソッドで以下の処理が走ります。
#code(php){{
function clean_string($str)
{
if ($this->_is_ascii($str) === FALSE)
{
$str = @iconv('UTF-8', 'UTF-8//IGNORE', $str);
}
return $str;
}
}}
>ベストプラクティスとしては、
$config['charset'] = 'UTF-8';
で、ソースコードは UTF-8。HTML 出力時に Shift_JIS に変換。
そして、入力時に Shift_JIS のデータを UTF-8 に変換する必...
注意が必要なのは、CI がサニタイズする前に入力データの文字...
>SJISで結果が出力されれば良いと言うことであれば、
controllerはUTF-8で書いて、最後にmb_convert_encodingでSJI...
#code(php){{
function _output_sjis ($html = "") {
$output = mb_convert_encoding($output, 'SJIS', 'UTF-8...
// header('Content-Type: text/html; charset=shift-jis...
header('Content-Type: text/html; charset=Shift_JIS');
// ですね(大文字小文字は区別なしですが、ハイフンとア...
echo $output;
}
}}
- CodeIgniter の出力を ShiftJIS にする
http://dhive.jp/blog/yama/?p=195
>携帯電話対応のため、出力文字コードを ShiftJIS にしたかっ...
結論としては、$this->load->view() は、Controller のメソッ...
なので、view() メソッド呼び出しのあと、出力クラス( output...
#code(php){{
$this->output->set_output(mb_convert_encoding($this->outp...
}}
で動作を確認。
もちろん動くのですが、View クラスと UserAgent クラスを組...
終了行:
[[CodeIgniter]]
Tips モバイル(ガラパゴス携帯電話 対応サイト)
#contents
* 文字コード変換 [#bc47eb6e]
- CodeIgniter内は、UTF-8で処理する。
- HTMLページでは、Shift_JISで表示する。
* リンク [#o2ae2251]
- [Codeigniter-users] CodeIgniterでのPOST値の日本語受け取...
http://sourceforge.jp/projects/codeigniter/lists/archive/...
>> CIのファイルinput→CIのファイルoutputだとPOSTの値が...
>これは CI が入力値をサニタイズしていることが原因です。
$config['charset'] = 'UTF-8';
の場合、core クラスの Utf8 クラスが追加の処理をします。
clean_string() メソッドで以下の処理が走ります。
#code(php){{
function clean_string($str)
{
if ($this->_is_ascii($str) === FALSE)
{
$str = @iconv('UTF-8', 'UTF-8//IGNORE', $str);
}
return $str;
}
}}
>ベストプラクティスとしては、
$config['charset'] = 'UTF-8';
で、ソースコードは UTF-8。HTML 出力時に Shift_JIS に変換。
そして、入力時に Shift_JIS のデータを UTF-8 に変換する必...
注意が必要なのは、CI がサニタイズする前に入力データの文字...
>SJISで結果が出力されれば良いと言うことであれば、
controllerはUTF-8で書いて、最後にmb_convert_encodingでSJI...
#code(php){{
function _output_sjis ($html = "") {
$output = mb_convert_encoding($output, 'SJIS', 'UTF-8...
// header('Content-Type: text/html; charset=shift-jis...
header('Content-Type: text/html; charset=Shift_JIS');
// ですね(大文字小文字は区別なしですが、ハイフンとア...
echo $output;
}
}}
- CodeIgniter の出力を ShiftJIS にする
http://dhive.jp/blog/yama/?p=195
>携帯電話対応のため、出力文字コードを ShiftJIS にしたかっ...
結論としては、$this->load->view() は、Controller のメソッ...
なので、view() メソッド呼び出しのあと、出力クラス( output...
#code(php){{
$this->output->set_output(mb_convert_encoding($this->outp...
}}
で動作を確認。
もちろん動くのですが、View クラスと UserAgent クラスを組...
ページ名: