Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.05.2013, 13:33
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
Добрый день. Создал проект Win Form Application (MS VS 2008 C+). Предварительно создал БД на MySQL, создал таблицу, заполнил полями. В С++ подключаюсь к БД с помощью mySqlConnection и mySqlCommand. Подключился, все норм. Хочу вывести таблицу в форме, использую dataGridView. Поля заполнены кириллицей и цифрами. Собственно отображение таблицы есть, все хорошо, но только кириллица не отображается. Сделал вот так: Код: plaintext 1. 2. 3. 4. 5. Подскажите как сделать чтобы отображалась кириллица? В MySQL кодировка utf8 авторmysql> SHOW VARIABLES LIKE "character\_set\_database" -> ; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+ 1 row in set (0.32 sec) mysql> Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 14:09
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
PROkaZZZniK, Насколько я помню, SET NAMES задает кодировку с которой работает клиент, а что там в БД не имеет значения. А поскольку у вас Windows то на клиенте это либо ANSI (CP-1251) либо UNICODE(UTF-16 или UCS-2), в зависимости от того как вы компилируете программу. Так что попробуйте эти два варианта (вам придется посмотреть в справке, как конкретно в mysql записваются имена этих кодировок) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 14:39
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
Anatoly Moskovsky, Спасибо за отклик. Попробовал все возможные, как бы символы меняются, но кириллица так и не отображается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 14:59
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
PROkaZZZniK, Так вы проверьте какая кодировка в базе стоит. То есть, в какой кодировке вы записываете туда данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 15:10
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
Анатолий Широков, Я это понял. А что мне нужно проверять тогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 16:53
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
Блин, теперь и в MySQL такая же кодировка стала. Точнее я ее наверно подпортил, как исправить кто подскажет? авторmysql> use liji; Database changed mysql> select * from liji; +--------+-------+-------+----------+-------------+----------------+ | id_lij | marka | model | rostovka | kol_sezonov | sostoyanie_lij | +--------+-------+-------+----------+-------------+----------------+ | 1 | спорт | 2 | 160см | 2 | 5 | | 3 | спорт | 2 | 155см | 3 | 4 | | 4 | спорт | 1 | 165см | 3 | 5 | | 5 | спорт | 1 | 165см | 3 | 5 | | 6 | гроза | 2 | 160см | 1 | 5 | +--------+-------+-------+----------+-------------+----------------+ 5 rows in set (0.00 sec) mysql> set names utf8 -> ; Query OK, 0 rows affected (0.00 sec) mysql> SHOW VARIABLES LIKE "character\_set\_database" -> ; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+ 1 row in set (0.32 sec) mysql> select * from liji; +--------+------------+-------+----------+-------------+----------------+ | id_lij | marka | model | rostovka | kol_sezonov | sostoyanie_lij | +--------+------------+-------+----------+-------------+----------------+ | 1 | ├б┬п┬о├а├в | 2 | 160├б┬м | 2 | 5 | | 3 | ├б┬п┬о├а├в | 2 | 155├б┬м | 3 | 4 | | 4 | ├б┬п┬о├а├в | 1 | 165├б┬м | 3 | 5 | | 5 | ├б┬п┬о├а├в | 1 | 165├б┬м | 3 | 5 | | 6 | ┬г├а┬о┬з┬а | 2 | 160├б┬м | 1 | 5 | +--------+------------+-------+----------+-------------+----------------+ 5 rows in set (0.01 sec) mysql> set names cp1251; Query OK, 0 rows affected (0.00 sec) mysql> SHOW VARIABLES LIKE "character\_set\_database"; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | utf8 | +------------------------+-------+ 1 row in set (0.00 sec) mysql> select * from liji; +--------+-------+-------+----------+-------------+----------------+ | id_lij | marka | model | rostovka | kol_sezonov | sostoyanie_lij | +--------+-------+-------+----------+-------------+----------------+ | 1 | ??о?? | 2 | 160?м | 2 | 5 | | 3 | ??о?? | 2 | 155?м | 3 | 4 | | 4 | ??о?? | 1 | 165?м | 3 | 5 | | 5 | ??о?? | 1 | 165?м | 3 | 5 | | 6 | ??оза | 2 | 160?м | 1 | 5 | +--------+-------+-------+----------+-------------+----------------+ 5 rows in set (0.00 sec) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 17:05
|
|||
|---|---|---|---|
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
PROkaZZZniK, Да это банально может быть потому что кодировка консоли какая-то не очень. Используйте уже HeidiSQL чтобы позырить что и как в мускуле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 17:10
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
NekZPROkaZZZniK, Да это банально может быть потому что кодировка консоли какая-то не очень. Используйте уже HeidiSQL чтобы позырить что и как в мускуле Как ее сделать? set names HeidiSQL?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 17:18
|
|||
|---|---|---|---|
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
PROkaZZZniK, Не, это MySQL GUI клиент такой. Скачайте, подключитесь и там всё замутите :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 18:19
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
NekZ, Установил, открыл свою БД, свои таблицы. Что дальше делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 18:21
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
Как бы вот нашел код: авторCREATE TABLE `liji` ( `id_lij` INT(11) NOT NULL AUTO_INCREMENT, `marka` CHAR(20) NOT NULL, `model` CHAR(20) NOT NULL, `rostovka` CHAR(10) NOT NULL, `kol_sezonov` CHAR(15) NOT NULL, `sostoyanie_lij` CHAR(25) NOT NULL, PRIMARY KEY (`id_lij`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=7; Это то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 20:36
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
Все проблему решил, все спасибо. Прочитал, что нужно использовать при заполнении таблицы SET NAMES cp866, так как консоль работает с данной кодировкой, это позволит адекватно записаться данным в таблицу. Удалил все таблицы, создал заново, заполнил и все))) Теперь все отлично отображается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.05.2013, 20:48
|
|||
|---|---|---|---|
|
|||
Как MySQL + C++ + Кодировка(Кириллица) |
|||
|
#18+
PROkaZZZniKПрочитал, что нужно использовать при заполнении таблицы SET NAMES cp866, так как консоль работает с данной кодировкой Вообще-то консоль работает с той кодировкой, с которой хочет пользователь... И это необязательно 866-я. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2020197]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 303ms |
| total: | 568ms |

| 0 / 0 |
