Кодирование SQL_Latin1_General_CP1_CI_AS в UTF-8

Я создаю XML-файл с помощью PHP, используя DomDocument, и мне нужно обрабатывать азиатские символы. Я извлекаю данные с сервера MSSQL2008 с помощью драйвера pdo_mssql и применяю utf8_encode() к значениям атрибутов XML. Все работает нормально, пока нет специальных символов.

Сервер MS SQL Server 2008 SP3

База данных, таблицы и столбцы сопоставлены с SQL_Latin1_General_CP1_CI_AS

Я использую PHP 5.2.17

Вот мой объект PDO:

$pdo = new PDO("mssql:host=MyServer,1433;dbname=MyDatabase", user123, password123);

Мой запрос базовый ВЫБОР.

Я знаю, что хранить специальные символы в столбцах SQL_Latin1_General_CP1_CI_AS не очень хорошо, но в идеале было бы неплохо заставить его работать, не изменяя его, потому что другие программы, отличные от PHP, уже используют этот столбец, и он работает нормально. В SQL Server Management Studio я правильно вижу азиатские символы.

Учитывая все вышеизложенное, как мне обрабатывать данные?

12
задан Pierre-Olivier 12 April 2012 в 15:13
поделиться