Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Кодировка или некорректное отображение данных в таблице  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
Добрый день.

Подскажите, как поменять кодировку при отображении данных в SSMS. Сейчас вместо строк отобржаются вопросы. Как это исправить?

Заранее благодарю.

К сообщению приложен файл. Размер - 46Kb
21 окт 15, 11:14    [18306184]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
o-o
Guest
это не студия.
у вас в данных уже все пропало.
занесены вопросики.
необратимо
21 окт 15, 11:19    [18306224]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
o-o
Guest
вот пример.
мастер у меня "латинец", SQL_Latin1_General_CP1_CI_AS
а cyr -- кириллическая база -- Cyrillic_General_CI_AS.
колонки неюникодные.
теперь в контексте НЕкириллического мастера я вставляю кириллицу:
use master;
go
create table cyr.dbo.t(col1 varchar(300), col2 varchar(300));
insert into cyr.dbo.t values
('Подскажите, как поменять кодировку при отображении данных', 
N'Подскажите, как поменять кодировку при отображении данных');

select *
from cyr.dbo.t;

переданная юникодом строка (N'Подскажите, как поменять кодировку при отображении данных')
ляжет кириллицей,
ascii же превратится в тыкву

К сообщению приложен файл. Размер - 44Kb
21 окт 15, 11:30    [18306283]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
o-o,

У меня мастер тоже на латинице. Там данных - 1о строчек, не страшно. Данные обычно заносятся только на киррилице. Если я поменяю мастер на киррилицу, тогда при занесении данных на латинице будет такая же проблема? Как можно исправить это все? Т.е., на юникод. Т.е., чтобы при занесении данных и на киррилице и на латинице данные отображались корректно. Данные заносятся через веб-интерфейс, поэтому добавлять N'...' нет возможности. Или есть?

Подскажите, как правильно сделать?
23 окт 15, 10:11    [18315358]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
maksim.yugai
Подскажите, как правильно сделать?

Заносить данные корректно
23 окт 15, 10:16    [18315386]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
o-o
Guest
maksim.yugai
Если я поменяю мастер на киррилицу, тогда при занесении данных на латинице будет такая же проблема?

база, в контексте которой выполняется вставка, должна быть кириллической
(мастер у меня взят для примера. у вас может быть сама база некириллическая).
или же заносимые строки должны быть юникодными.
как менять на юникод в вашем приложении, я не знаю.
а сменить коллэйшен мастеру это как минимум детачить/аттачить все базы
+ если другие базы некириллические, то после смены возможны коллэйшен-конфликты в темпдб,
т.к. и темпдб станет кириллической
23 окт 15, 11:10    [18315683]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
o-o,

Прошу прощение за тупизм, но прошу разжевать все подробно.

Опишу все подробно.

Есть CRM-система, работает на MySQL. У нее есть веб-интерфейс - открываю через браузер страницу CRM отображается как кириллица, так и латиница. Все кул.

Есть АТС, она работает на MSSQL. Прилинковал к ней MySQL CRM-системы. В Management Studio делаю выборку из таблицы прилинкованной БД - кириллицу показывает в вопросиках; латиницу нормально. Данные из мастера показывает как латиницу, так и кириллицу - корректно.

В настройки MySQL попасть не могу, т.к. нет доступа. Но говорят, что там кодировка указана в юникоде.

Не соображу где нужно менять кодировку?
23 окт 15, 12:15    [18316094]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
o-o
Guest
вы опрашиваете через linked server
или через openrowset?
последний не запрашивает инфо о коллэйшене и отображает в кодировке своего мастера,
т.е. вот у меня греческий экземпляр опрашивает кириллическую табличку,
так юникод и в Африке юникод, а ascii он показывает, используя греческую кодовую страницу
----
мораль:
вы читаете не-юникод с того сервера,
а если именно через openrowset, то измените стратегию, через linked server читайте/openquery задействуйте

К сообщению приложен файл. Размер - 79Kb
23 окт 15, 12:58    [18316348]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Дык MySQL интерфейс считает, что ему текст в UTF-8 приходит. Чет там подпилить надо.
23 окт 15, 13:10    [18316419]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
o-o
Guest
Владислав Колосов
Дык MySQL интерфейс считает, что ему текст в UTF-8 приходит. Чет там подпилить надо.

откуда MySQL интерфейс, когда ТС в студии читает данные с MySQL-сервера.
вопрос, *как* читает
23 окт 15, 13:27    [18316557]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
откуда MySQL интерфейс, когда ТС в студии читает данные с MySQL-сервера.
вопрос, *как* читает

Через MySQL драйвер, как же еще
23 окт 15, 13:29    [18316571]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
o-o
вы опрашиваете через linked server
или через openrowset?


Linked server

вы читаете не-юникод с того сервера,


Т.е., значит на MySQL сервере все таки не unicode установлен?
23 окт 15, 14:13    [18316895]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
Glory
o-o
откуда MySQL интерфейс, когда ТС в студии читает данные с MySQL-сервера.
вопрос, *как* читает

Через MySQL драйвер, как же еще


Указал в MySQL Connector utf8 символы изменились на другие - во вложении..

А в строке Initial Statement ничего указывать не нужно?

К сообщению приложен файл. Размер - 81Kb
23 окт 15, 14:19    [18316942]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка или некорректное отображение данных в таблице  [new]
maksim.yugai
Member

Откуда:
Сообщений: 110
Всем спасибо!

Вопрос решен. Изменил кодировку в MySQL Connector на cp1251. Вопрос закрыт.
23 окт 15, 15:08    [18317344]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить