пишу данные в mssql server:
SqlCommand WriteDeps = new SqlCommand(@"
insert into Departments(DepName) values (@name)", new SqlConnection(Destination_connection_string));
Здравствуйте, plasticman, Вы писали:
P>Беда в том что в БД пишется "????" вместо "тест". P>В самой таблице БД поле DepName типа varchar(max). P>Где может быть ошибка подскажите, пожалуйста?
Проверьте, что у поля кириллический collation или используйте тип nvarchar(max)
Здравствуйте, plasticman, Вы писали:
P>Беда в том что в БД пишется "????" вместо "тест". P>В самой таблице БД поле DepName типа varchar(max). P>Где может быть ошибка подскажите, пожалуйста?
Проверьте что collation у поля DepName правильные.
Посмотрите в сторону nvarchar(max)
Здравствуйте, Alexandr Sulimov, Вы писали:
AS>Здравствуйте, plasticman, Вы писали:
P>>Беда в том что в БД пишется "????" вместо "тест". P>>В самой таблице БД поле DepName типа varchar(max). P>>Где может быть ошибка подскажите, пожалуйста?
AS>Проверьте что collation у поля DepName правильные. AS>Посмотрите в сторону nvarchar(max)
nvarchar(max) пробовал ставить — не помогло
collation поменял с default на Windows Collation — Cyrillic_General (в SQL Collation не нашел cyrillic) — тоже безрезультатно.
Интрига еще и в том что на этом же сервере есть похожая БД(настройки те же), и с ней проблем нет. Заполняется она так же программно, но символы распознаются верно.
Здравствуйте, plasticman, Вы писали:
P>Беда в том что в БД пишется "????" вместо "тест". P>В самой таблице БД поле DepName типа varchar(max). P>Где может быть ошибка подскажите, пожалуйста?
А файл с программным кодом у Вас в какой кодировке?
И как определяете, что именно записалось?
Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, plasticman, Вы писали:
P>>Беда в том что в БД пишется "????" вместо "тест". P>>В самой таблице БД поле DepName типа varchar(max). P>>Где может быть ошибка подскажите, пожалуйста? V>А файл с программным кодом у Вас в какой кодировке? V>И как определяете, что именно записалось?
В какой кодировке файл с кодом даже не знаю — делаю в VS2008
Определяю запросом к таблице в SQL Management Studio и так же считывая значения из БД с помощью SqlClient — в обоих случаях знаки вопроса
Здравствуйте, plasticman, Вы писали:
V>>А файл с программным кодом у Вас в какой кодировке? P>В какой кодировке файл с кодом даже не знаю — делаю в VS2008
Может, посмотрите? Мне-то отсюда не видно
Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, plasticman, Вы писали:
V>>>А файл с программным кодом у Вас в какой кодировке? P>>В какой кодировке файл с кодом даже не знаю — делаю в VS2008 V>Может, посмотрите? Мне-то отсюда не видно
Здравствуйте, plasticman, Вы писали:
V>>>>А файл с программным кодом у Вас в какой кодировке? P>>>В какой кодировке файл с кодом даже не знаю — делаю в VS2008 V>>Может, посмотрите? Мне-то отсюда не видно
P>я жутко извиняюсь, не подскажите как это сделать?
Меню File/Advanced save options
или посмотрите файл любым шестнадцатеричным редактором и пришлите оттуда коды букв слова "тест"
Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, plasticman, Вы писали:
V>>>>>А файл с программным кодом у Вас в какой кодировке? P>>>>В какой кодировке файл с кодом даже не знаю — делаю в VS2008 V>>>Может, посмотрите? Мне-то отсюда не видно
P>>я жутко извиняюсь, не подскажите как это сделать? V>Меню File/Advanced save options V>или посмотрите файл любым шестнадцатеричным редактором и пришлите оттуда коды букв слова "тест"
File/Advanced save options показывает:
Unicode (UTF-8 with signature) — Codepage 65001
V>>>>>>А файл с программным кодом у Вас в какой кодировке? P>>>>>В какой кодировке файл с кодом даже не знаю — делаю в VS2008 V>>>>Может, посмотрите? Мне-то отсюда не видно
P>>>я жутко извиняюсь, не подскажите как это сделать? V>>Меню File/Advanced save options V>>или посмотрите файл любым шестнадцатеричным редактором и пришлите оттуда коды букв слова "тест"
P>File/Advanced save options показывает: P>Unicode (UTF-8 with signature) — Codepage 65001
Поправьте строчку SqlParameter paramName = new SqlParameter("@name", SqlDbType.NVarChar);
Если не поможет — попробуйте сохранить как Unicode Codepage 1200.
Или так ещё попробуйте:
SqlCommand WriteDeps = new SqlCommand(@"into Departments(DepName) values (@name)", new SqlConnection(Destination_connection_string));
WriteDeps.Parameters.Add(new SqlParameter("@name", "тест"));
WriteDeps.Connection.Open();
WriteDeps.ExecuteNonQuery();
WriteDeps.Connection.Close();