【PHP】下らねぇ質問 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
52:51 08/02/27 15:38:37 lCPSweHG //51の続き function _2KeySort(array &$array, array &$columns_order){ $array_sort = array(); $array_order = array(); $i=0; foreach($columns_order as $column => &$order){ if(!array_key_exists($column,reset($array))){ require_once 'Sd/Exception.php'; throw new Sd_Exception("ソートに指定されたキー[{$column}]がありません。"); } foreach ($array as $key => &$row) $array_sort[$i][] = $row[$column]; $array_order[$i] = $order; ++$i; } array_multisort($array_sort[0], $array_order[0], $array_sort[1], $array_order[1], $array); } 53:51 08/02/27 15:39:26 >>51の続き @まず、セッションに配列を保存。 Aセッションの配列をソート Bセッションを別の変数に代入し文字コードを変換。 C代入した変数とセッションを表示 という流れです。 なぜか、セッションのデータも文字コードが変わってしまいます。しかも、全部ではありません。うちの環境では「おえ 」だけがUTF-8のままです。なので、表示の度に、めちゃめちゃに文字化けしていきます。 ちなみに、ソートする関数をコメントアウトすると、セッションの文字コードは変わらなくなります。 $temp = $_SESSION['test']というのは参照ではなく値のコピーですよね? ソートする関数で、参照渡しにしなくていいところもありそうですが、それ以前に、セッションの文字コードに影響が出るのはおかしくないでしょうか? 実際には、Zend_Frameworkと、出力部分にSmartyを使用した、そこそこ大きなアプリで起こったことなのですが、 いろいろ試して、やっとここまで問題を切り分けました。 ソートする関数の参照渡しをやめるか、セッションに保存する前にSJISに変換して、出力の度に変換するのをやめれば この問題は解決できるのですが、根本的な解決というか、理解になっていないので、気になります。たすけてください。 PHP Version 5.1.6です。 長文すいません。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5370日前に更新/145 KB
担当:undef