metaclass: (Default)
[personal profile] metaclass
Решил разобраться с внутренним устройством баг-трекера на предмет его миграции с "автоматически инсталлированного под виндой" на "поставленный вручную на дебиане".
Обнаружил, что автоматический инсталлятор под виндой создал базу в mysql с кодировкой latin1, а рубирельсовое приложение при этом работает в кодировке utf8. Дамп базы вроде в utf8 получается, если поставить mysqldump кодировку latin1, но подгрузить этот дамп в utf8 базу у меня не выходит.

PS: фак мой мозг. Поставил для базы данных с default character set utf8 в конфиге рельсов encoding: latin1 - кодировка исправилась. Хер знает, что они там делают.

PPS: замена всех latin1 на utf8 в дампе, установка --default-character-set=utf8 при импорте таки помогла - новая база стала в правильной кодировке.

Date: 2010-04-13 11:19 am (UTC)
From: [identity profile] kurilka.livejournal.com
в мускульном дампе по-моему там в первых строках идёт выставление кодировки и оно у тебя в латин1 должно выставлять, что, сам понимаешь, не в тему.

Date: 2010-04-13 11:23 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, там не только в первых строках latin1 - оно там по всему файлу. Буду сейчас по частям фиксить и смотреть что получается.

Date: 2010-04-13 11:28 am (UTC)
From: [identity profile] kurilka.livejournal.com
ты не понимаешь меня - там в первых строках директива мускулу для выставления кодировки.

Date: 2010-04-13 11:32 am (UTC)
From: [identity profile] metaclass.livejournal.com
это /*!40101 SET NAMES utf8 */;

я ее поменял в последнюю очередь, но кроме этого, еще указал в опциях mysql --default-character-set=utf8, после чего все заработало.

Date: 2010-04-13 01:49 pm (UTC)
From: [identity profile] black-angel-by.livejournal.com
- кодировка в котрой хранятся данные
- кодировка, в которой отдаётся аппликухе (SET NAMES)
- и кодировка в которой отдаёт апликуха.

Потёряться тут конечно можно, но лучше по возможности держать всё в одной кодировке :)

Гм, как то использовал команду для конвертации таблицы из одной кодировки в другую. ИМХО более правильный способ.

Date: 2010-04-13 01:58 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Я все равно массово базы мигрирую тут, так что надо уже и кодировки заодно пофиксить.

Date: 2010-04-13 11:20 am (UTC)
From: [identity profile] kurilka.livejournal.com
а ваще - мочить всех, кто утф не юзает :)

Date: 2010-04-13 11:46 am (UTC)
From: [identity profile] theiced.livejournal.com
мочить надо всех кто юзает говномусикль.

Date: 2010-04-13 12:07 pm (UTC)
From: [identity profile] kurilka.livejournal.com
а, ну да, и этих тоже :)

Date: 2010-04-13 01:51 pm (UTC)
From: [identity profile] inhate.livejournal.com
да-да, в посгресе у всех есть только один вариант заданый при инициализации кластера. Если надо друго сочетание кодировок и коллешенов - надо разные кластеры делать. В мумсике это намного удобнее сделано.

Date: 2010-04-13 03:50 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
Наглая ложь, от человека который видимо не читает документацию.

Для тех кто всё-таки читает:

http://www.postgresql.org/docs/8.4/interactive/sql-createdatabase.html

lc_collate
Collation order (LC_COLLATE) to use in the new database. This affects the sort order applied to strings, e.g. in queries with ORDER BY, as well as the order used in indexes on text columns. The default is to use the collation order of the template database. See below for additional restrictions.

lc_ctype
Character classification (LC_CTYPE) to use in the new database. This affects the categorization of characters, e.g. lower, upper and digit. The default is to use the character classification of the template database. See below for additional restrictions.

Date: 2010-04-13 04:18 pm (UTC)
From: [identity profile] metaclass.livejournal.com
и появилось это только в 8.4 вроде :)

Date: 2010-04-13 04:23 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
Да, а сам 8.4 зарелизился более полу-года назад.

Date: 2010-04-13 06:28 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Я предполагаю, что полгода это недостаточный срок, чтобы все кинулись на него продакшен переводить.
Я обычно ранее чем через год-два на новые версии не хожу, во избежание - пусть другие сначала все баги отловят, пару багфикс-релизов сделают, а потом уж и я - на готовое:)

Date: 2010-04-13 11:40 am (UTC)
From: [identity profile] samurai-within.livejournal.com
"mysql это фалоимитатор с гвоздями" (с) не мой

Date: 2010-04-13 01:50 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
А вас же предупреждали...

Date: 2010-04-13 01:58 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Кто предупреждал о чем? :)

Date: 2010-04-13 03:38 pm (UTC)
From: [identity profile] theiced.livejournal.com
я. много раз :]

Date: 2010-04-13 03:42 pm (UTC)
From: [identity profile] max-posedon.livejournal.com
об mysql-е, и utf-8 и прочим

и в это прочее, между прочим входит то, что у вас таблицы скорее всего в myisam

Date: 2010-04-13 04:15 pm (UTC)
From: [identity profile] metaclass.livejournal.com
таблицы в InnoDB

Date: 2010-04-13 04:17 pm (UTC)
From: [identity profile] metaclass.livejournal.com
И таки насчет mysql меня никто не предупреждал, это вообще стороннее приложение, в кои я без особой надобности стараюсь не лезть - у меня и своей работы достаточно.

Date: 2010-04-13 04:19 pm (UTC)
From: [identity profile] bigfrogg.livejournal.com
Один из корней мирового зла - использование не utf8 кодировки где-либо.

Date: 2010-04-13 06:29 pm (UTC)
From: [identity profile] metaclass.livejournal.com
С этой кодировкой тоже не все хорошо. Она ж для символов <127 не отличается от ASCII, из-за чего долбаные американцы вполне могут считать, что "у них все работает", даже если там все остальное поломано.

Date: 2010-04-14 12:55 am (UTC)
From: [identity profile] theiced.livejournal.com
ооооо
да да да
сколько раз натыкался на такую хуйню ;]

Date: 2010-04-13 07:15 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Не надо этот мускль. Плохой он.
Как минимум, один солидарный со мной человек тут есть ;-)

Date: 2010-04-13 07:20 pm (UTC)
From: [identity profile] nealar.livejournal.com
Чем именно плохой?

Date: 2010-04-14 12:55 am (UTC)
From: [identity profile] theiced.livejournal.com
тем что он говно, например.

Date: 2010-04-14 06:36 am (UTC)
From: [identity profile] nivanych.livejournal.com
Мне неохота вдаваться в холивары
по поводу того, что я делал что-то не так, но
намучился я с ним, в своё время, весьмаа прилично.
А вот PostgreSQL, наоборот, принёс мне
большую радость и облегчение.

Date: 2010-04-14 08:33 am (UTC)
From: [identity profile] nealar.livejournal.com
Так всё правильно. Под каждую задачу свой молоток.

Date: 2010-04-14 10:27 am (UTC)
From: [identity profile] nivanych.livejournal.com
Я бы сказал, что мускль, по лоровской терминологии, "ненужен".
Сейчас уже практически все области его применения покрывает PostgreSQL.
Остальное покрывает sqlite.
Вообще, эта парочка, sqlite и PostgreSQL, покрывает оочень много применений SQL'я "вообще", за 2-мя исключениями.

Первое исключение касается сверх-больших-сложных баз, с которыми я не имел дел, и не имею права утверждать, что PostgreSQL тут годится. Хотя, наблюдения показывают, что вполне годится, и даже от оракла отстаёт уже не очень сильно.

Второе исключение касается сверх-навороченного OLAP, тут есть специально приспособленные под это конкурренты.

Date: 2010-04-14 10:39 am (UTC)
From: [identity profile] nealar.livejournal.com
У мускуля есть одно достоинство - простота установки из коробки.
И вот такая вот штука: все мои задачи с базами - это антихайлоад. То есть, по производительности мускуль, постгре и оракл буду на них тупо равны. А скулайт - нет, потому что придётся делать дополнительные телодвижения для доступа нескольких процессов к одной базе.
На тех, кто делает на мускуле сверх-большие-сложные базы и сверх-навороченное OLAP, я хотел бы посмотреть. Чё-то мне не кажется, что это разумный выбор.

Date: 2010-04-14 10:47 am (UTC)
From: [identity profile] nivanych.livejournal.com
А разве PostgreSQL сложно ставится??...........
Как под виндовсом -- проще некуда,
так и под дженту -- очень просто.
Под дебианом не пробовал очень давно,
но не думаю, что заметно сложнее.

Date: 2010-04-14 11:06 am (UTC)
From: [identity profile] metaclass.livejournal.com
mysql и postgresql идентично вуду-образно ставятся. Firebird чуть проще.

Date: 2010-04-14 11:51 am (UTC)
From: [identity profile] nealar.livejournal.com
В mysql после make install надо сделать одну операцию: задать привелегии хотя бы для одного пользователя. Дальше можно нормально использовать. Раньше, кстати, ещё какое-то вуду требовалось, которое аффтары, наконец-то, догадались сунуть в makefile.

Date: 2010-04-14 11:56 am (UTC)
From: [identity profile] metaclass.livejournal.com
А разве сейчас положено make install ставить? Вроде ж корректный вуду-ритуал - ставить менеджером пакетов.

Date: 2010-04-16 10:21 pm (UTC)
From: [identity profile] nealar.livejournal.com
Есть такой менеджер пакетов ;)

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 15th, 2025 08:01 am
Powered by Dreamwidth Studios