PHP драйвер Sqlsrv и проблема кодировки UTF-8 с сообщениями об ошибках - PullRequest
1 голос
/ 08 марта 2012

Я использую драйвер Microsoft sqlsrv с кодировкой UTF-8 (передавая CharacterSet 'UTF-8' в sqlsrv_connect).Это прекрасно работает для фактических данных, хранящихся в базе данных, но я обнаружил проблему с неанглийским текстом, возвращаемым sqlsrv_errors.При использовании другого языка для SQL Server (например, SET LANGUAGE German), я обнаружил, что возвращенные сообщения об ошибках не в кодировке UTF-8.Вот что sqlsrv_errors () вернул для ошибки 8152:

[Microsoft][SQL Server Native Client 10.0][SQL Server]Zeichenfolgen- oder Bin?rdaten w?rden abgeschnitten.

И как шестнадцатеричное (только два недопустимых слова):

B i n ? r d a t e n  w ? r d e n
42696e8472646174656e 77817264656e

Итак, проблемные символы кодируются как 84(на самом деле U + 00E4) и 81 (на самом деле U + 00FC), которые я не могу связать ни с какой кодировкой.Любая помощь будет высоко ценится.

Спасибо, Тобиас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...