[Codeigniter-users] CodeIgniterでのPOST値の日本語受け取りの文字化けについて。

Back to archive index

Oono Tomoyuki tomoy****@tabim*****
2011年 5月 13日 (金) 13:49:53 JST


大野@tabimobaです。

たびたび失礼します。
クロスキューブ 佐々木さん、Oceanさん
敬称を忘れておりました。大変申し訳ありません。

2011年5月13日13:48 Oono Tomoyuki <tomoy****@tabim*****>:
> 大野@tabimobaです。
> クロスキューブ 佐々木ではなく、Oceanでした。
> 失礼しました。
>
> 2011年5月13日13:44 Oono Tomoyuki <tomoy****@tabim*****>:
>> クロスキューブの佐々木さん
>> 大野@tabimobaです。
>>
>>>> CIに慣れてきた矢先、formでinputしたtextが受け取り側のファイルで文字化けしてしまうという事態になってしまいました。受け取り側が素のphpファイルであれば問題なく受け取れるのですが、CodeIgniterのcontrollerの中のファイルとして設置してしまうと、なぜか文字化けます。
>>
>> SJISで結果が出力されれば良いと言うことであれば、
>> controllerはUTF-8で書いて、最後にmb_convert_encodingでSJISに変換して出力してみてはいかがでしょうか?
>>
>> function _output_sjis ($html = "") {
>>  $output = mb_convert_encoding($output, 'SJIS', 'UTF-8');
>>  header('Content-Type: text/html; charset=shift-jis;');
>>  echo $output;
>> }
>>
>> みたいな感じでsjis出力用のメソッドを用意して、そちらで変換して出力というのはいかがでしょうか?
>>
>>
>>
>> 2011年5月13日12:33 クロスキューブ佐々木 <tao****@xross*****>:
>>> クロスキューブの佐々木と申します。
>>> 僕は携帯サイトを作る際は、ファイルはutf8で作成して、最終的な出力の段階でshift-jisに変換しています。
>>> ファイルをshift-jisで書く事は避けた方が良いですよ
>>>
>>> 2011年5月13日金曜日 オーシャンダニエル ocean****@gmail*****:
>>>> 皆様はじめまして、Oceanと申します。
>>>>
>>>> このたびCodeIgniterを使い始め、素晴らしいフレームワークだなと感じています。
>>>> CIに慣れてきた矢先、formでinputしたtextが受け取り側のファイルで文字化けしてしまうという事態になってしまいました。受け取り側が素のphpファイルであれば問題なく受け取れるのですが、CodeIgniterのcontrollerの中のファイルとして設置してしまうと、なぜか文字化けます。
>>>>
>>>> mb_convert_variables等も試してみたのですが、うまく変換することが出来ませんでした。
>>>> 携帯サイト用のため、ファイルの文字コードはどちらもSJISで作成しています。
>>>>
>>>> 以下、該当コードを添付します。
>>>>
>>>>
>>>> 送信側(controllers/input.php)---------------------------
>>>>
>>>> <?php
>>>> class Input extends CI_Controller {
>>>>
>>>> public function index()
>>>> {
>>>> echo '<form action="output.phpへのパス" method="POST"
>>>> accept-charset="shift_jis">';
>>>> echo '<input type="text" name="name" value =""><br />';
>>>> echo '<input name="submit" value="送信" type="submit"><br />';
>>>> echo '</form>';
>>>> }
>>>>
>>>> }
>>>> ?>
>>>>
>>>> 受信側(controllers/output.php)---------------------------
>>>>
>>>> <?php
>>>> class Output extends CI_Controller {
>>>>
>>>> public function index()
>>>> {
>>>> print_r($this->input->post());
>>>> }
>>>>
>>>> }
>>>> ?>
>>>>
>>>> ※結果は
>>>> Array ( [name] => トとて  [submit] => M )
>>>> のような感じに文字化けます。
>>>> Array ( [name] => てすとてすと [submit] => 送信 )となるはずなのですが。。
>>>>
>>>> どなたかアドバイスの可能な方、何卒宜しくお願い致します。
>>>>
>>>> Ocean
>>>> _______________________________________________
>>>> Codeigniter-users mailing list
>>>> Codei****@lists*****
>>>> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>>>>
>>>>
>>>>
>>>
>>> --
>>> --
>>> ■::
>>> □■::-----------------------------------------------
>>> ■::
>>> XROSS CUBE
>>>
>>>  佐々木 多生
>>>  Tao Sasaki
>>>
>>>  tel:090-6158-4469
>>>  fax:042-315-6607
>>>  mail:tao****@xross*****
>>>
>>> ・EC-CUBEカスタマイズ
>>> http://www.xross-cube.com/
>>>
>>> ・直感的なCMS、concrete5
>>>  http://concrete5.xross-cube.com/
>>> --------------------------------------------------■□
>>> _______________________________________________
>>> Codeigniter-users mailing list
>>> Codei****@lists*****
>>> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>>>
>>
>



Codeigniter-users メーリングリストの案内
Back to archive index