![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Lobsang |
|
|||
Unregistered |
Почему при вставке в таблицу БД (MS SQL Server 2000) слов на русском используя Query Analyzer или написанную программу - получаем кучу знаков ? вместо букв. Но при вставке из Server Enterpriise Manager - русские слова сохраняются в нормальном виде.
Что-то здесь с настройками Виндов. Может кто знает. Видел подобный вопрос - там ответом было мол "что-то в кодировке", может скажете что нужно изменить что бы кодировка была нормальной? Win2000 Server Русский - задан как регион. Кодировка - KOIR-8 |
|||
|
||||
Lobsang |
|
|||
Unregistered |
Все он понимает. Это у кого-то руки не из того места растут
![]() Все дело в настройках COLLATE - где задаются параметры языка БД при ее создании. Список всех Колэйшенов можно получить SELECT * FROM ::fn_helpcollations() |
|||
|
||||
lynx20005 |
|
|||
Unregistered |
В свое время столкнулся с такой проблемой:
Да, на самом деле, всё заключалось в свойстве COLLATE. Выход: выполнить такой SQL-запрос: ALTER DATABASE <имя ДБ> COLLATE Cyrillic_General_CI_AS и всё работает. |
|||
|
||||
adamant |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 1.3.2006 Где: Москва Репутация: нет Всего: нет |
А у меня не заработало!
отправляю ALTER DATABASE <имя ДБ> COLLATE Cyrillic_General_CI_AS потом делаю форму при нажатии go в таблицу вставляеться русский текст, потом загружаю этот текст а там всё авно иероглифы... что делать? Заработало только криво, например не правельно даёт эти символы: ё, щ, ы, ю... Как именно от этого избавиться? Это сообщение отредактировал(а) adamant - 24.4.2006, 10:34 |
|||
|
||||
ALKS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
не правда. COLLATE на базе данных это COLLATE по-умолчанию. они применяться при создании новых таблиц если в запросе на создание явно не указан COLLATE для столбца. Если таблица уже создана то тот факт что изменялся COLLATE по-умолчанию на базе для уже существующих таблиц ничего не изменит. чтобы сменить COLLATE нужно либо пересоздать все таблицы либо сделать ALTER с нужным COLLATE у нужных вам столбцов типа char/varchar. В последнем случае вы по-сношаетесь по-полной потому, что например если два столбца двух таблиц участвующие в Foreign Key то они должны иметь один и тотже COLLATE. В примведенном примере придеться уничтожать констреинт, менять COLLATE у столбцов и потом создавать констреин снова. Вообщем гемор ещё тот. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |