Проблема кодировки символов с ODBC_FETCH_ROW - PullRequest
0 голосов
/ 11 февраля 2020

Прежде чем спрашивать, не bash меня, я уже много исследовал, но я не нахожу ничего, кто работает на меня. У меня есть некоторые проблемы, я пытаюсь кодировать результат моего bdd в JSON, но когда я использую "json_last_error ();" результат 5, затем проблема utf8.

Мое последнее исследование привело меня к этому коду:

function arrayToUTF($arr){
    foreach ($arr as $key => $value) {
		
		$arr[$key] = utf8_encode($value);
		echo utf8_encode($value);
    }
    return $arr;
}

function fetch2Array($result){    
    $rows = array();

    while($myRow = odbc_fetch_array( $result )){ 
        $rows[] = arrayToUTF($myRow);
    }
    return $rows;
}
	//-------------------------------------CONNEXION-------------------------------------\\
$dsn="DRIVER={HFSQL};Server Name=172.*.*.*;Server Port=**;Database=**;UID=**;PWD=**;Encryption=";
$connexion = odbc_connect($dsn,'','') OR die( odbc_error() );

	//---------------------------------------READ---------------------------------------\\
$result=odbc_exec($connexion,"SELECT * FROM APPRENTIS;");
$data = fetch2Array($result);

print_r($data);

Но, когда я пробую это в Почтальоне, у меня есть: postmanReturn (Извините, я не могу добавить img)

, если это может помочь, если думает, что кодировка базы данных - это utf8. (Знаете ли вы, что команда php знает это?)

Я много чего пробую, и я использую php 5.x (потому что просто php скажите мне, чтобы заплатить больше), тогда я не могу использовать mb_convert, которому нужно 7,2 для преобразования массива.

...