powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
19 сообщений из 19, страница 1 из 1
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691143
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер! Подскажите как настраивается кодировка или как исправить/повлиять?

моя строка подключения
Код: xml
1.
2.
3.
 <add name="Alternativa" connectionString=
"Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\project_2013\AP_1\AP_1\App_Data\ap1.mdf;Integrated Security=True;
Connect Timeout=30" providerName="System.Data.SqlClient" />



Код: c#
1.
2.
pr = context.Products.Add(pr); //смотрю отладчиком pr содержит свойства с нормальным отображение русского
context.SaveChanges();         //к сожалению в таблице SQL все русские буквы оказываются заменены знаком вопроса 
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691196
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил вопрос пересоздав таблицу в БД заменив все типы varchar на nvarchar.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691209
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AspUserРешил вопрос пересоздав таблицу в БД заменив все типы varchar на nvarchar.Хм, а можно было Collation у базы нужный выставить. Или помимо русского ещё и китайский будете в БД хранить?
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691239
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAХм, а можно было Collation у базы нужный выставить. Или помимо русского ещё и китайский будете в БД хранить?

nvarchar это правильно. varchar + collation это неправильно. кроме «китайского» есть много другого юнико́да®. и вообще, варчары давно уже пора выкинуть на помойку.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691246
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAХм, а можно было Collation у базы нужный выставить. Или помимо русского ещё и китайский будете в БД хранить?

nvarchar это правильно. varchar + collation это неправильно. кроме «китайского» есть много другого юнико́да®. и вообще, варчары давно уже пора выкинуть на помойку.Какой такой varchar + collation? У базы выставляешь collation, а не у поля. И там где надо используешь nvarchar, где много "другого юнико?да®", а где не надо не используешь.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691267
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКакой такой varchar + collation? У базы выставляешь collation, а не у поля. И там где надо используешь nvarchar, где много "другого юнико?да®", а где не надо не используешь.

и в чём заключается удовольствие контролировать, где varchar, а где nvarchar? в чём профит? в экономии? в целом экономический аспект должен быть действительно оправдан, чтобы допустить такое разнообразие.

на минутку я представил себе, если бы в .NET были строки типа nstring и string ... после возни с мультиба́йтовыми строками в C++, это где-то недалеко от границ а́да.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691275
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, что тут неправильного-то? Ты знаешь какие данные и какого типа будут храниться в БД и используешь этот тип.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691276
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, в чём ад? Коды валют, городов, аэропортов вдруг перестанут быть тремя латинскими символами? Пользователи вдруг захотят, чтобы их имена писали иероглифами?
Давай всё в NVARCHAR(MAX) хранить, а то мало-ли
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691279
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКоды валют, городов, аэропортов вдруг перестанут быть тремя латинскими символами?

Вообще не аргумент. Валюты, города, аэропорты и рационально выносить в справочники, и сколько там получится при этом экономии? С гулькин нос. А чисто технически лучше получать и записывать данные в .NET сразу в двухбайтовом юникоде, без лишних преобразований.

Другое дело, когда планируется заталкивать много данных. Очень много. Можно прикинуть экономию, и при необходимости сделать varchar. Иначе смысла нет никакого. Даже если там гарантировано будет латиница.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691281
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAДавай всё в NVARCHAR(MAX) хранить, а то мало-ли

ну, например, в SQLite так и есть
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691282
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПользователи вдруг захотят, чтобы их имена писали иероглифами?

больше свобод пользователю!
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691291
gandjustas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, что тут неправильного-то? Ты знаешь какие данные и какого типа будут храниться в БД и используешь этот тип.

Проблема скорее в непонимании чем отличается varchar и nvarchar и чем грозит неправильный выбор.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691293
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gandjustasчем грозит неправильный выбор

пошли страсти
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691297
gandjustas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttgandjustasчем грозит неправильный выбор

пошли страсти

Страсти пошли с начала топика. А если еще в предикат попадет сравнение с unicode строкой и перестанут работать индексы, то начнется настоящая драма.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38691344
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно кто-нибудь что-нибудь скажет про ад и неправильный выбор?
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38692081
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКонкретно кто-нибудь что-нибудь скажет про ад и неправильный выбор?

на помойку varchar.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38692128
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttна помойку varchar.
Может пригодится, как защита на уровне базы, от попадания туда невалидной строки.
К примеру, если я храню таким образом телефон.
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38692144
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Китайцы не смогут заинжектить туда свой лозунг. ))
...
Рейтинг: 0 / 0
При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
    #38692158
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонкак защита на уровне базы, от попадания туда невалидной строки

я считаю, что валидация должна быть исключительно программная (не считая foreign key).
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / При работе через EntityFramework в sql таблицу заходят русские буквы знаками вопроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]