Home

Реклама

Previous Entry | Next Entry

9 Июн, 2009

  • 5:14 PM
С флагом
ненавижу ненатуралов, пихающих в базу дефолт-кодировку latin1 и покрывающие все это данными в кодировке web-сервера.

Comments

( 14 комментариев — Оставить комментарий )
[info]mr_nekt wrote:
9 Июн, 2009 13:46 (UTC)
какой кавай :)

У меня даже гдето-был однажды скриптик сделан антиненатуральный чтобы в базе кодировку делать нормальную в таких случаях :)
[info]ad_null wrote:
9 Июн, 2009 13:50 (UTC)
Да? А какую
База latin1. поверх залили cp1251. Сделали дамп в utf-8
залили дамп в utf-8
кодировка таблиц latin1
кодировка клиента cp1251
Вопрос - ну ка исправь мне кодировку.
[info]mr_nekt wrote:
9 Июн, 2009 14:07 (UTC)
А что? Может и сработает :)

Берешь текстовый столбец (TEXT или VARCHAR) и преобразовываешь его в бинарное поле (BLOB и VARBINARY соответсвенно, если я не путаю типы)
Берешь получившийся столбец и преобразуешь его обратно с нужной тебе кодировкой.

Этот фокус позволяет изменить кодировку поля без автоматического преобразования кодировки содержимого. То есть если было записано 0xF5 то так оно там и останется. Но если ранее оно означало *нечитаемый символ*, то теперь оно станет *читаемый символ*.

А вот дамп в утф... хрен его знает как он все это обработает. Вроде у меня как-то получалось вернуть после дампа и восстановления.
[info]ad_null wrote:
9 Июн, 2009 14:08 (UTC)
Ага. С учетом того что база 300мегов
[info]mr_nekt wrote:
9 Июн, 2009 14:09 (UTC)
и чо? тут важно количество столбцов а не ее размер :)
[info]mr_nekt wrote:
9 Июн, 2009 14:09 (UTC)
в крайнем случае чаю попьешь :)
[info]ad_null wrote:
9 Июн, 2009 14:10 (UTC)
Да вернуть то ее в нормальную кодировку я смог. но подзаебал такой расклад порядком.
[info]mr_nekt wrote:
9 Июн, 2009 14:12 (UTC)
вот для этого у меня скрипт и был :) Сам залезал в базу искал все текстовые поля и заменял их на текстовые поля в указанной кодировке
[info]mr_nekt wrote:
9 Июн, 2009 14:08 (UTC)
нужной тебе - cp1251, т.е. та которая изначально заливалась.
[info]mihajlo wrote:
9 Июн, 2009 15:54 (UTC)
вы, батенька, извращенец
[info]ru_toor wrote:
9 Июн, 2009 15:28 (UTC)
Чё делать в таких случаях?
Как предоствращать?
[info]m_ivanov wrote:
9 Июн, 2009 19:14 (UTC)
Надо на клиенте делать в обязательном порядке "SET NAMES кодировка_вебсервера". Дальше все автоматически получится правильно, вне зависимости от используемых кодировок.
[info]ad_null wrote:
9 Июн, 2009 19:52 (UTC)
Это когда у тебя есть возможность сказать --default-character-set=ololo
А когда дам cpanel сделала?
Потом опять же. База в latin1. Поверх лежит cp1251
-default-character-set=latin1 надо ставить. И в дамп set names cp1251 писать. И кодировку таблиц поправить в дампе.
(Анонимно) wrote:
10 Июн, 2009 05:07 (UTC)
"дам" - это "дама"? А че, сипанель сама не делает "set..."?

>Потом опять же. База в latin1. Поверх лежит cp1251

Я какбэ имел в виду, что "set..." надо делать ДО, а не после того, как херня уже случилась:)
( 14 комментариев — Оставить комментарий )

Profile

С флагом
[info]ad_null
ad_null

Latest Month

Ноябрь 2009
Вс Пн Вт Ср Чт Пт Сб
1234567
891011121314
15161718192021
22232425262728
2930     
Разработано LiveJournal.com
Designed by Tiffany Chow