Кодовые страницы Ананас

Начинаете изучать Ананас? Задавайте вопросы здесь. С чего начать? Где найти? Как сделать? А можно...?

Кодовые страницы Ананас

Сообщение greenif » Пт июл 03, 2009 1:31 am

Обсуждение проблем с кодовыми страницами при работе с Ананас.
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Кодовые страницы Ананас

Сообщение greenif » Пт июл 03, 2009 1:39 am

После утановки Ананас и пакета ananas-inventory под linux.

Автоматически БД не создаются по этому создаю вручную.
Код: Выделить всё
mysqladmin -u root create --default-character-set=utf8 ananas_system
mysqladmin -u root create --default-character-set=utf8 ananas_inventory
mysqladmin -u root create --default-character-set=utf8 ananas_inventory_demo


Но не смотря на то что пытаюсь задать кодировку.
В Ананасе в справочниках в место наименования элементов отображаются "???????".
Подскажите пожалуйста как с этим бороться?
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Кодовые страницы Ананас

Сообщение radist » Пт июл 03, 2009 12:15 pm

А что в консоли?
Сделай что то вроде SELECT * FROM cg129.

Второе поставь mysqladmin gui. Что там будет. Скорее всего загнаный тобой дапм и кодировка на сервере не совпадают.

По поводу кодировок я долго бился, с ананасм проблем небыло, зато со всем остальным были проблемы. В ананасе и в консоли одно и то же. А в mysqladmin и eXaro кракозябры. Если в mysqladmin все нормально, то в ананасе вопросы. Так что у вас в mysqladmin теоретически все должно быть нормально.

Вот это читали? http://forum.ubuntu.ru/index.php?topic=18081.0

* настраиваем базу mysql

Для корректной работы нужно добавить
в раздел [mysqld] в файле /etc/mysql/my.cnf
кодировки по умолчанию.

Код:

character_set_server = utf8
collation_server = utf8_general_ci

затем перегрузить mysql командой

Код:

/etc/init.d/mysql restart

Теперь можно создать базы в mysql например таким скриптом

Код:

#!/bin/sh
sudo mysqladmin -u root -p create ananas_system
sudo mysqladmin -u root -p create ananas_inventory
sudo mysqladmin -u root -p create ananas_inventory_demo
sudo mysql -u root -p ananas_inventory < /usr/share/ananas/inventory/inventory.sql
sudo mysql -u root -p ananas_inventory_demo < /usr/share/ananas/inventory/inventory-demo.sql

у кого нет пароля можно просто нажимать ентер (но первый раз для sudo пароль указать нужно)
для остальных нужно пять раз ввести пароль на рута mysql

Если вам по каким то причинам вам не подходят переменные
character_set_server = utf8 и collation_server = utf8_general_ci по умолчанию.
Можно создавать базы данных таким способом

Код:

sudo mysqladmin -u root -p create ananas_system
sudo mysqladmin -u root -p create ananas_inventory
$ mysql
> use ananas_system;
> ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
> use ananas_inventory;
> ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
> quit
sudo mysql -u root -p ananas_inventory < /usr/share/ananas/inventory/inventory.sql
radist
 
Сообщения: 97
Зарегистрирован: Ср фев 25, 2009 10:39 am

Re: Кодовые страницы Ананас

Сообщение app » Пн июл 06, 2009 8:05 am

Еще подсказка как проверить правильно ли настроен mysql
заходите в шел
Код: Выделить всё
mysql

набираете
Код: Выделить всё
\s


в выводе должно быть
Код: Выделить всё
...
Server characterset:   utf8
Db     characterset:   utf8
Client characterset:   utf8
Conn.  characterset:   utf8
...



Db - показано значение для текущей БД. Если хотите увидеть для базы ананаса, сначала выполните
Код: Выделить всё
use ananas_inventory
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Кодовые страницы Ананас

Сообщение greenif » Пн июл 13, 2009 12:57 am

Спасибо за консультацию. И за то что показали куда грести.
Но вот пара интересных нюансов.

В openSUSE
Путь к конфигурационному файлу /etc/my.cnf
В нем кроме:
Код: Выделить всё
[mysqld]
character_set_server = utf8
collation_server = utf8_general_ci
#Нужно еще прописать:
[mysql]
default-character-set=utf8


Только после этого команда \s в mysql выдала:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8


После чего перезапустил сервер, пересоздал базы.
Заново импортировал: /usr/share/ananas/inventory/inventory-demo.sql
И что же!
После запуска Ананас картина в справочниках не изменилась. Дальше «????».
Думал в inventory-demo.sql не та кодировка. Но нет. Там utf8.
Тогда взял сказал и увидил:
Код: Выделить всё
mysql> select * from cg129;
+----+------+-------+------+---------------------------------+
| id | df   | level | idp  | uf146                           |
+----+------+-------+------+---------------------------------+
|  2 | 0    |     0 |    0 | Хозтовары                       |
|  3 | 0    |     0 |    0 | Вино-водочные                   |
|  4 | 0    |     0 |    0 | Продукты питания                |
|  5 | 0    |     0 |    0 | Тара                            |
+----+------+-------+------+---------------------------------+

Едим дальше.
Запускаем базу «Оперативный учет»(не демо).
И в справочнике номенклатуры создаем товар:
«Водка Карпатская Княгинин»
И опять говорим в mysql:
Код: Выделить всё
mysql> use ananas_inventory
mysql> select *from cg129;
+----+------+-------+------+----------------------------------------------------------------------------------+
| id | df   | level | idp  | uf146                                                                            |
+----+------+-------+------+----------------------------------------------------------------------------------+
|  3 | 0    |     0 |    0 | ? ??—??«?• ?’????????«?• ?’???”????                                           |
+----+------+-------+------+----------------------------------------------------------------------------------+

В место названия абракадабра.
В свойствах всех таблиц стоит utf8

Из чего напрашивается вывод что это ананас работает с базой в непонятной кодировке.

Подскажите как ее поменять?
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Кодовые страницы Ананас

Сообщение app » Пн июл 13, 2009 9:26 am

Хм, давайте уточнять. Где вы создали базу и где запускаете Ананас? На одной и тоже машине?
Какая версия Ананаса, где брали дистрибутив?
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Кодовые страницы Ананас

Сообщение greenif » Пн июл 13, 2009 10:47 am

app писал(а):Хм, давайте уточнять. Где вы создали базу и где запускаете Ананас? На одной и тоже машине?

Да, конечно это одна и та же машина, после каждой смены настроек базу пере создавал.
mysqladmin -u root drop ananas_inventory_demo
mysqladmin -u root drop ananas_inventory
mysqladmin -u root drop ananas_system
mysqladmin -u root create ananas_inventory_demo
mysqladmin -u root create ananas_inventory
mysqladmin -u root create ananas_system

app писал(а):Какая версия Ананаса, где брали дистрибутив?

По ссылке скачать на главной странице ananas.su
Для qt3.
http://download.opensuse.org/repositories/home://radist_tagan/openSUSE_11.1/x86_64/ananas-0.9.5.te-19.1.x86_64.rpm
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Кодовые страницы Ананас

Сообщение app » Пн июл 13, 2009 12:22 pm

Кодировка системы?
что выдает
Код: Выделить всё
 set|grep LANG
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Кодовые страницы Ананас

Сообщение greenif » Вт июл 14, 2009 11:35 pm

LANG=ru_RU.UTF-8
for lc in LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAMELC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL;
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Кодовые страницы Ананас

Сообщение greenif » Ср июл 22, 2009 11:44 pm

С Надеждой и Верой жду хоть какого ни будь комментария.
Андрей!
Пожалуйста выскажите просто свои размышления на этот счет.
Ведь я не могу сразу понять логику вашего проекта.
Но поверте - к этому стремлюсь.
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

След.

Вернуться в Вопросы новичков

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron