PDO_sqlsrv: неправильная кодировка символов в идентификаторах полей

Хорошо, я унаследовал довольно плохую ситуацию с БД. Представления и таблицы используются и не могут или могут быть изменены только с большим количеством работы.

Я пытаюсь получить инструмент на основе Php / Html для работы с БД.

Вот моя информация:

try {
$conn = new PDO("sqlsrv:server=$serverName;Database = $database", $uid, $pwd);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);
} catch (PDOException $e) {
die("Error connecting to SQL Server " . $e);
}

Это мое соединение PDO и

select * from munition.dbo.V_Admin_Zündhütchen order by Kaliber desc

это мой запрос.

V_Admin_Zündhütchen — это представление.

Когда я получаю возврат и выкидываю это так:

$row = $sql->fetch(PDO::FETCH_ASSOC)
var_dump($row);

Я получаю это:

array (size=5)
'ID' => string '2' (length=1)
'Kaliber' => string '7,62 mm' (length=7)
'Hersteller' => string 'Vihtavuori' (length=10)
'Z�ndtyp' => string 'Boxer' (length=5)
'Bezeichnung' => string '1511' (length=4)

должен быть ü

Последовательность байтов того, что показано как Z�ndtyp является 5A FC 6E 64 74 79 70

С самими данными все в порядке, затрагиваются только названия столбцов:

array (size=5)
'ID' => string '24' (length=2)
'Kaliber' => string '12/70' (length=5)
'Hersteller' => string 'Rottweil' (length=8)
'Z�ndtyp' => string 'Boxer' (length=5)
'Bezeichnung' => string 'Schrotzünder' (length=13)

Итак, почему это не решает должным образом?

3

Решение

Задача ещё не решена.

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

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

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