2015-03-16 4 views
0

Я использую ZF1 и MSSQL, используя freeTDS.Кодирование символов MSSQL

Сегодня я сделал резервную копию (используя «Сгенерировать скрипт» в Studio Management) для тестирования, и у меня возникла странная проблема. В БД я вижу, что все символы, такие как ś, ć, ż и т. Д., Сохраняются должным образом, но когда в ZF я запускаю запрос select, я получаю некоторые странные символы вместо того, что я вижу в БД.
Это действительно раздражающая проблема, и я попытался исправить ее через 4-5 часов и до сих пор ничего.

Что я пробовал:

  • ini_set ('mssql.charset', 'UTF-8'); в index.php
  • Установить столбец NVARCHAR, NCHAR
  • mb_convert_encoding ($ данных, 'UTF-8')

Этот метод, по крайней мере пусть мой см декодируется JSON, но все символы неправильно декодируется. (Без этого метода я получаю только ошибка «Invalid UTF-8 ...»)

ответ

1

пожалуйста, найти файл конфигурации FreeTDS, где находится в моем сервере

(/usr/local/freetds/etc/freetds.config) 

редактировать файл и настройка клиента кодовую в utf8

enter image description here

+0

Спасибо вам, но до сих пор ничего. Я заметил, что я могу добавлять новые данные в БД с помощью ć, ź и т. Д., И когда я запускаю запрос, я получаю правильно декодированную строку без каких-либо странных символов. Проблема возникает только тогда, когда я получил данные из резервной копии. Проблема также проявляется в конфигурации sqlsrv + wamp. – TomTom

+0

Ну, так получилось, что ты был прав. Я помещал эту «клиентскую кодировку» в неправильное место ... Спасибо! – TomTom

Смежные вопросы