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

Откуда:
Сообщений: 54
SELECT DATABASEPROPERTYEX('api_bdl', 'Collation') SQLCollation;
Cyrillic_General_CI_AS

	create table test ( 
	id int, 
	name nvarchar(MAX)
	)
	INSERT INTO test(name) VALUES('łapka i Ąbędę faść')
	INSERT INTO test(name) VALUES('tysiąc')
	SELECT * FROM test

результат:
id name
NULL lapka i Abede fasc
NULL tysiac

Вроде бы все норм.
Но когда Данные идут с json файла, то например
в фалей джейсона имею tysiąc złotych

а MSSqL выдает tysiД...с zE,otych

Перерыл куча инфы в интернете, но что-то не получается(
21 июн 19, 14:18    [21912961]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
Jonsnow
Member

Откуда:
Сообщений: 54
Так было написано

INSERT INTO test(name) VALUES('łapka i Ąbędę faść')

INSERT INTO test(name) VALUES('tysiąc')
21 июн 19, 14:20    [21912963]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36989
Ошибка в ходилке данных из json.
И да, чтобы строковый литерал был юникодным, надо перед ним писать букву N.
21 июн 19, 14:23    [21912967]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
Jonsnow
Member

Откуда:
Сообщений: 54
Гавриленко Сергей Алексеевич
Ошибка в ходилке данных из json.
И да, чтобы строковый литерал был юникодным, надо перед ним писать букву N.


N буква помогла при тестах.

а вот что делать с json файлом?
21 июн 19, 14:29    [21912978]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
Jonsnow
Гавриленко Сергей Алексеевич
Ошибка в ходилке данных из json.
И да, чтобы строковый литерал был юникодным, надо перед ним писать букву N.


N буква помогла при тестах.

а вот что делать с json файлом?
То же самое.
Нужно, что бы:
Jonsnow
Но когда Данные идут с json файла, то
данные "шли" тоже в unicode
21 июн 19, 14:34    [21912988]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
Jonsnow
Member

Откуда:
Сообщений: 54
alexeyvg,


DECLARE @JSON VARCHAR(MAX)

SELECT @JSON = BulkColumn FROM OPENROWSET
(BULK N'.....\json_measures.json',SINGLE_CLOB, CODEPAGE = 'UTF-8') as j


Не помогает(
21 июн 19, 14:43    [21913004]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
Jonsnow
Member

Откуда:
Сообщений: 54
SINGLE_NCLOB

Ошибка:
Для параметра SINGLE_NCLOB необходим входной файл в кодировке Юникод (widechar). Указанный файл не имеет кодировки Юникод.

Хотя открываю файл и пишет кодировка UTF-8
21 июн 19, 14:50    [21913015]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
Jonsnow
DECLARE @JSON VARCHAR(MAX)
А почему не NVARCHAR?
21 июн 19, 15:18    [21913058]     Ответить | Цитировать Сообщить модератору
 Re: Кодировка MSSQL  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
Jonsnow
(BULK N'.....\json_measures.json',SINGLE_CLOB, CODEPAGE = 'UTF-8') as j
Не помогает(
А версия сиквела поддерживает UTF-8?

Ещё, кодировка UTF-8 записывается как CODEPAGE = '65001', а не CODEPAGE = 'UTF-8'
21 июн 19, 15:21    [21913060]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить