Столкнулся с такой проблемой. Есть таблица, в ней русские записи. При подключении каким нибудь клиентом(mySQL Front, SQLyog) они отображаются нормально. А когда пытаюсь их выбрать из своего приложения, вместо русских символов возвращаются знаки вопроса. Пробовал менять кодировки(utf8, CP-1251) и у таблицы, в целом, и отдельно для каждого поля, ничего не помогает.
Помогите решить проблему please.
P. S. заранее извеняюсь если такой вопрос задавался ранее.
RE: mySQL и русские символы
От:
Аноним
Дата:
06.03.06 07:37
Оценка:
Столкнулся с такой проблемой. Есть таблица, в ней русские записи. При подключении каким нибудь клиентом(mySQL Front, SQLyog) они отображаются нормально. А когда пытаюсь их выбрать из своего приложения, вместо русских символов возвращаются знаки вопроса. Пробовал менять кодировки(utf8, CP-1251) и у таблицы, в целом, и отдельно для каждого поля, ничего не помогает.
Помогите решить проблему please.
P. S. заранее извеняюсь если такой вопрос задавался ранее.
Если мне память не изменяет нужно win-1251
Здравствуйте, dragon rider, Вы писали:
DR>Столкнулся с такой проблемой. Есть таблица, в ней русские записи. При подключении каким нибудь клиентом(mySQL Front, SQLyog) они отображаются нормально. А когда пытаюсь их выбрать из своего приложения, вместо русских символов возвращаются знаки вопроса. Пробовал менять кодировки(utf8, CP-1251) и у таблицы, в целом, и отдельно для каждого поля, ничего не помогает. DR>Помогите решить проблему please.
DR>P. S. заранее извеняюсь если такой вопрос задавался ранее. DR>Если мне память не изменяет нужно win-1251
DR>данное сообщение получено с www.gotdotnet.ru DR>ссылка на оригинальное сообщение
Я не нашёл такой кодировки в mySQL. Меня беспокоит то что в других клиентах нормально отображаются русские символы, а в том, который пишу я появляются знаки вопроса...
J_>Я не нашёл такой кодировки в mySQL. Меня беспокоит то что в других клиентах нормально отображаются русские символы, а в том, который пишу я появляются знаки вопроса...
почему в MySQL? Покажи как ты выводишь текст из MySQL
...Ei incumbit probatio, qui dicit, non qui negat...
Здравствуйте, vitaly_spb, Вы писали:
J_>>Я не нашёл такой кодировки в mySQL. Меня беспокоит то что в других клиентах нормально отображаются русские символы, а в том, который пишу я появляются знаки вопроса...
_>почему в MySQL? Покажи как ты выводишь текст из MySQL
{
string query = "SELECT * FROM Test";
DataTable dt = new DataTable();
MySqlCommand mySQLCommand = new MySqlCommand(query);
string ConnectionString = "Database=" + ConnectionParams.database + ";" + "Server=" + ConnectionParams.server + ";User Id=" + ConnectionParams.login + ";Password=" + ConnectionParams.password;
MySqlConnection myConnection = new MySqlConnection(ConnectionString);
myConnection.ConnectionString = ConnectionString;
mySQLCommand.Connection = myConnection;
MySqlDataAdapter da = new MySqlDataAdapter(mySQLCommand);
Вот в общем код, не стал редактировать copy/paste. При выборке из базы в dt записи с русскими символами заменяются знаками вопроса. Для подключения использую компонент mySQL Connector .Net 1.0.7. Взят с mysql.com. Я ума не приложу в чём может быть дело...
Здравствуйте, vitaly_spb, Вы писали:
J_>>Я не нашёл такой кодировки в mySQL. Меня беспокоит то что в других клиентах нормально отображаются русские символы, а в том, который пишу я появляются знаки вопроса...
_>почему в MySQL? Покажи как ты выводишь текст из MySQL
{
string query = "SELECT * FROM Test";
DataTable dt = new DataTable();
MySqlCommand mySQLCommand = new MySqlCommand(query);
string ConnectionString = "Database=" + ConnectionParams.database + ";" + "Server=" + ConnectionParams.server + ";User Id=" + ConnectionParams.login + ";Password=" + ConnectionParams.password;
MySqlConnection myConnection = new MySqlConnection(ConnectionString);
mySQLCommand.Connection = myConnection;
MySqlDataAdapter da = new MySqlDataAdapter(mySQLCommand);
Вот в общем код, не стал редактировать copy/paste. При выборке из базы в dt записи с русскими символами заменяются знаками вопроса. Для подключения использую компонент mySQL Connector .Net 1.0.7. Взят с mysql.com. Я ума не приложу в чём может быть дело...
Чего-то ты много лишнего пишешь и не забывай using(MySqlCommand mySQLCommand = new MySqlCommand(query)) — они должны поддерживать IDisposable. Я твой код немного поправил.
string query = "SELECT * FROM Test";
DataTable dt = new DataTable();
string ConnectionString =
String.Format("Database={0};Server={1};User Id={2};Password={3}",
ConnectionParams.database,
ConnectionParams.server,
ConnectionParams.login,
ConnectionParams.password);
using(MySqlDataAdapter da = new MySqlDataAdapter(query, new MySqlConnection(ConnectionString)))
{
try
{
da.Fill(dt);
SelectException = null;
return dt;
}
catch(Exception e)
{
SelectException = e;
return null;
}
}
J_>Вот в общем код, не стал редактировать copy/paste. При выборке из базы в dt записи с русскими символами заменяются знаками вопроса. Для подключения использую компонент mySQL Connector .Net 1.0.7. Взят с mysql.com. Я ума не приложу в чём может быть дело...
Попробуй покопаться со строкой соединения, еще — вот ссылка на форум где все это обсуждается