2010-11-12 6 views
1

Я использую веб-службу C# для вставки, удаления и получения данных из базы данных MySql. Проблема в том, что некоторые данные находятся на македонском (кирильский).C# веб-сервис, проблема с кодировкой MySql

Когда я вставляю непосредственно в базу данных, он вставляет ok. Например: «дсд» - это «дсд». Когда я вставляю в сервис, это не так. Например: «дсд» - это «???». Когда я пытаюсь получить данные через сервис, он становится все в порядке. В чем проблема с вставкой?

Вот часть моего кода для вставки:

MySqlConnection connection = new MySqlConnection(MyConString); 
    MySqlCommand command = connection.CreateCommand(); 
    command.CommandText = "INSERT INTO user (id_user, name VALUES (NULL, ?name);"; 
    command.Parameters.Add("?name", MySqlDbType.VarChar).Value = name; 
    connection.Open(); 
    command.ExecuteReader(); 

    connection.Close(); 
    return thisrow; 

TNQ U заранее !!!

+1

Возможно, что-то теряется в переводе через веб-службу, а не на уровне вставки базы данных? – mellamokb

+0

Вы когда-нибудь могли это понять? Я копаюсь в той же области веб-службы C# в базе данных MySQL с символами иностранного языка. – 2010-12-30 19:48:38

ответ

2

Решение находится в строке подключения: MyConString = "SERVER = localhost;" + "DATABASE = yourdatabase;" + "charset = utf8;" ;.

0

Я бы посмотрел кодировку для самого веб-сервиса. Проблема может заключаться в том, чтобы превратить текст в строку SOAP для отправки в службу. Строковые данные по умолчанию в Unicode в .NET, поэтому, как только он попадает в веб-службу, все должно быть хорошо.

Чтобы убедиться, что это проблема, присоедините отладчик к методу, в котором есть фрагмент кода и точка останова при добавлении параметра. Строка «имя», которую вы назначаете параметру, должна отображаться правильно в окне «Часы» или «Местные жители». Если это не так, ваш код не получил строку, которую вы ожидаете, что, вероятно, означает, что ваши клиенты кодируются в ASCII или кодовой странице ISO, отличной от кириллицы.

+0

Кодировка в веб-службе в порядке. Проблема заключается в отправке данных из службы в базу данных !!! – blabla

+0

ПОМОЩЬ ПОЖАЛУЙСТА !!! :) – blabla

Смежные вопросы