MySQL データベースから多次元配列を受け取ります
Array
(
[0] => Array
(
[page] => categorypropose
[value] => baby-sitters
[id] => 357960
)
[1] => Array
(
[page] => categorysearch
[value] => adéquate pour garder
[id] => 357961
)
...
)
この配列では、「自家製」関数「loadtext」を介して行う ISO-8859-1 から UTF8 への変換がいくつかあります。
しかし、私がこれを行うと:
$array = $query->result_array();
foreach($array as &$k)
{
foreach ($k as &$value)
{
//Works
$value = $this->loadtext($value, 'ISO-8859-1');
}
}
//Back to normal as $this->loadtext never existed
print_r($array);
変更は保存されません ($value をエコーすると動作しますが、最後に変更が保持されません ...)
EDIT:これは、私が使用する義務がある関数loadtextです(実際には、作成しませんでしたが、使用する必要があります...)
function loadtext($text,$charset){
$text = stripslashes($text);
if($charset!="UTF-8")
$text = iconv("UTF-8",$charset,$text);
$text = str_replace(" :"," :",$text);
$text = str_replace(" ;"," ;",$text);
$text = str_replace(" !"," !",$text);
$text = str_replace(" ?"," ?",$text);
$text = str_replace(" ."," .",$text);
$text = str_replace(" …"," …",$text);
return $text;
}