【PHP】下らねぇ質問はここに書き込みやがれ 65at PHP【PHP】下らねぇ質問はここに書き込みやがれ 65 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドの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の続き ①まず、セッションに配列を保存。 ②セッションの配列をソート ③セッションを別の変数に代入し文字コードを変換。 ④代入した変数とセッションを表示 という流れです。 なぜか、セッションのデータも文字コードが変わってしまいます。しかも、全部ではありません。うちの環境では「おえ 」だけがUTF-8のままです。なので、表示の度に、めちゃめちゃに文字化けしていきます。 ちなみに、ソートする関数をコメントアウトすると、セッションの文字コードは変わらなくなります。 $temp = $_SESSION['test']というのは参照ではなく値のコピーですよね? ソートする関数で、参照渡しにしなくていいところもありそうですが、それ以前に、セッションの文字コードに影響が出るのはおかしくないでしょうか? 実際には、Zend_Frameworkと、出力部分にSmartyを使用した、そこそこ大きなアプリで起こったことなのですが、 いろいろ試して、やっとここまで問題を切り分けました。 ソートする関数の参照渡しをやめるか、セッションに保存する前にSJISに変換して、出力の度に変換するのをやめれば この問題は解決できるのですが、根本的な解決というか、理解になっていないので、気になります。たすけてください。 PHP Version 5.1.6です。 長文すいません。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch