PDO Fetch assoc iSeries AS400 unixodbc возвращает только первую букву столбца

При использовании оператора PDO ASSOC я получаю только первую букву столбца вместо полной. Есть идеи ? Более подробная информация ниже:

Небольшой блок кода для fetch_assoc через PHP:

$pdo = new PDO("xxx", "user","pwd");
$pdo->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_TO_STRING);
$query = $pdo->query("SELECT TRND.TRANID FROM PCRMTRND AS TRND");
$query->execute();
$tmp = array();
while($row=$query->fetch(PDO::FETCH_ASSOC)) {
array_push($tmp,$row);
}

После заполнения массива tmp:

введите описание изображения здесь

Var DUMP каждый ряд:

введите описание изображения здесь

Настройки ODBC:

[xxx]
Description             = iSeries ODBC
Driver                  = IBM i Access ODBC Driver
System                  = /
UserID                  =
Password                =
Naming                  = 0
DefaultLibraries        = QGPL
Database                =
ConnectionType          = 0
CommitMode              = 2
ExtendedDynamic         = 1
DefaultPkgLibrary       = QGPL
DefaultPackage          = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression    = 1
LibraryView             = 0
AllowUnsupportedChar    = 0
ForceTranslation        = 0
Trace                   = 0

0

Решение

Я столкнулся с той же проблемой, кажется, это как-то связано с настройками локали. Когда я изменил LC_ALL с «en_US.UTF-8» на «en_US.ISO-8859-1», проблема исчезла. Следовательно, у меня нет вывода в UTF 🙁

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]