![]() |
|
Модераторы: Akina |
![]()
|
|
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Введение: Сразу скажу что опыта работы с MSSQL мало и моя задача стоит лишь в том чтобы регулярно забирать информацию (Работаю на PHP).
Задача: Получение информации, её обработка и сохранение результатов в другую базу с кодировкой UTF-8 Проблема: Если в поле текстовом присутствует русские буквы, то в результате выполнения запроса получаю вместо них "?". Проделанные проверки: - Попробовал отображать текст в разных кодировках - Попробовал кодировать в PHP из разных кодировок в UTF-8 - Пытался найти информацию по работе с кодировками в MSSQL, ничего определенного не нешел, может и плохо искал, потому что не знаю где искать... Какие могут быть вариенты решения данной проблемы, в какой кодировке MSSQL возвращает результат. Это сообщение отредактировал(а) Vigoroso - 16.9.2009, 21:41 |
|||
|
||||
| Zioma |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 22.8.2007 Репутация: 5 Всего: 5 |
Может это поможет?
|
|||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Если бы я использовал SQL Server Driver for PHP, то может и помогло бы, этот драйвер работает только под Windows, что никак не работает под Linux. Я использую стандартный плагин с функциями mssql_connect, mssql_query и т.п. Попробовал сделать iconv("utf-16le", "utf-8", $data); т.е. перекодировать из возвращаемой MSSQL-ем кодировки в UTF-8 (как в примере, на всякий случай...), в ответ получил алерт о том что "Detected an incomplete multibyte character in input string" и китайские иероглифы... Сейчас попробую поработать с этим драйвером, но все равно то что он только под Windows это плохо - ограничение на использование... Есть подозрение на то, что примерно такие же операции проделывает mssql плагин, но не совсем правильно вот и глюки.. P.S. Информация в MSSQL вообще в какой кодировке хранится, потому что в свойствах таблицы у меня написан только "collation"? |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
1. Поле определено как nvarchar?
2. Заносить данные в следующем виде
-------------------- Никогда не говори никогда |
|||
|
||||
| Vigoroso |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
база для меня в режиме readonly только, я ничего в неё не заношу, только считываю, даже если процесс внесения в неё информации не верен, исправить нет возможности. Microsoft SQL Server Management Studio отображает информацию коректно. Добавлено @ 22:47 Вот тип данного поля:
Это сообщение отредактировал(а) Vigoroso - 16.9.2009, 22:47 |
||||||
|
|||||||
| kobra |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
||||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Отлично! Возвращает сейчас результат в кодировке Windows-1251, но возникает другой вопрос - можно ли сразу возврашать в UTF-8? |
|||
|
||||
| Vigoroso |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 17.6.2006 Репутация: нет Всего: нет |
Проблема ещё состоит и в том, что могут быть символы латинского алфавита, как пример французского или итальянского....
|
|||
|
||||
| kobra |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
попробуи collate Latin1_General_CI_AS. кажется 1252.
|
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |