Еще раз с проблемами кодировки при разговоре с БД:)
У меня есть две среды, в которых работает Zend Server.Бот из них общается с SQL Server 2000, используя расширение mssql.Ни один из них не имеет значения, заданного для кодировки в настройках расширения.Для одного он работает, а для другого он возвращает данные в неправильной кодировке.
Проблема стала заметной, когда эти данные были вставлены в базу данных MySQL, и они закричали с SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF6m' for column 'cust_lastname' at row 1
.
Я пытался использовать SET NAMES utf8
, чтобы заставить соединение SQL Server возвращать правильные данные, но он жалуется и говорит, что NAMES is not a recognized SET statement
.Оглядываясь вокруг, большинство людей даже рекомендуют использовать это, но, похоже, оно не является частью SQL Server 2000:)
Итак, что мне делать?Как мне, БЕЗ возиться с базой данных / таблицами SQL Server, сказать ему, чтобы он отправлял мне данные в кодированном UTF-8 формате?
РЕДАКТИРОВАТЬ:
Дополнительная информация ...
- SQL Server использует сопоставление Finnish_Swedish_CI_AS
- MySQL имеет каждую таблицу в формате UTF-8 и использует utf8_unicode_ci