Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировки MySQL, проблемы с результатами SELECT запроса 
V
    Опции темы
PhantomMaster
  Дата 21.7.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.7.2006

Репутация: нет
Всего: нет



Есть dbase на MySQL где в поле типа Char(100) хранятся строки на русском языке.
И есть написанная на С++ программа, которая делает SELECT запрос. 

и потом в переменной MYSQL_ROW row 
мы получаем вместо row[0]=="текст здеся" 
                                  row[0]=="????? ?????"

как с этим бороться?

программа кроссплатформа : Windows XP и FreeBSD, но окончательный вариант будет работать под FreeBSD

 

Это сообщение отредактировал(а) PhantomMaster - 8.8.2006, 21:52
PM MAIL   Вверх
PhantomMaster
Дата 24.7.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.7.2006

Репутация: нет
Всего: нет



разобрался.
сабж снят! тему можно закрыть. 
PM MAIL   Вверх
BaguK
Дата 1.12.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



У меня такая же проблеема как и у PhantomMaster.
выводит ???
Не понскажите как решить ее?
Код

#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <mysql/mysql.h>


int main( int argc, char * argv[] )
{
    MYSQL mysql;
    MYSQL_RES *result;
    MYSQL_ROW row;
    int num_fields, i;
    u_long *lengths;
    if(!mysql_init(&mysql))
    {
        fprintf(stderr,"Unable to initialize MYSQL struct!\n");
    }
    if(!mysql_real_connect(&mysql,"localhost","root","","porba",3306,NULL,0))
    {
        fprintf(stderr,"%d: %s\n, ",mysql_errno(&mysql),mysql_error(&mysql));
        _getch();
        exit(0);
    }
    if(mysql_query(&mysql, "SELECT * FROM tab"))
    {
        fprintf(stderr,"%d: %s\n, ",mysql_errno(&mysql),mysql_error(&mysql));
    }
    else
    {
        result =mysql_store_result(&mysql);
        num_fields=mysql_num_fields(result);
        while((row = mysql_fetch_row(result))) {
        for (i=0; i < mysql_num_fields(result); i++)
        printf("%s",row[i]);
 }
    }
    mysql_close(&mysql);
    _getch();
    return 0 ;
}

в таблице tab  2 поля id(int) и name(varchar)
в name храняться названия блюд на русском языке
так вот при выходе нам выводится ???????(Вопросики)

Не подскажите как решить эту проблемму


PhantomMaster, отзавись.
PM MAIL ICQ   Вверх
Platon
Дата 1.12.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



Кодировка у тебя какая? возможно перед работой тебе необходимо выполтить запрос типа 
Код

SET NAMES 'utf8'

или какую нибудь другую кодировку.
PM MAIL ICQ   Вверх
BaguK
Дата 1.12.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



почемуто не может вылоннить 
Код
SET NAMES 'utf8'
 :(

Platon, пробывал разные кодировки все без измений всеравно выводит ?????

Это сообщение отредактировал(а) BaguK - 1.12.2007, 12:19
PM MAIL ICQ   Вверх
BaguK
Дата 1.12.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



Проблемма решина! mysql_query(&mysql,"SET NAMES 'CP1251'")
Спасибо Platonу 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.