Русский язык и 1.5.1
Русский язык и 1.5.1
В версии 1.4.1 приходилось приходилось делать доработки для нормальной работы с русским языком. Включены ли эти доработки в версию 1.5.1?
-
- Power Poster
- Posts: 339
- Joined: Thu Nov 01, 2007 3:11 pm
Re: Русский язык и 1.5.1
Из того, что точно включено:
1. убраны крякозяблы из меню
2. добавлена автоматическая транслитерация для альясов
1. убраны крякозяблы из меню
2. добавлена автоматическая транслитерация для альясов
Re: Русский язык и 1.5.1
Чтобы правильно прописывались русские 'ш' и 'и' пришлось в incude.php раскомментировать строку $cmsdb->Execute('set names utf8');
Re: Русский язык и 1.5.1
Ну так это известный момент, когда mysql-сервер настроен неизвестными, но ОЧЕНЬ талантливыми администраторами, которым не хватило чего-то критического, чтобы добавить
в my.cnf, приходится вот так вот изгаляться.[mysqld]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-character-set-client-handshake
lower_case_table_names=1
[mysqldump]
default-character-set=utf8
unsigned double ZYV;
-
- Forum Members
- Posts: 76
- Joined: Sat Dec 06, 2008 3:05 pm
Re: Русский язык и 1.5.1
не помогло (vchilikov wrote: Чтобы правильно прописывались русские 'ш' и 'и' пришлось в incude.php раскомментировать строку $cmsdb->Execute('set names utf8');
Re: Русский язык и 1.5.1
У меня проблемка 
Поставил эту версию, все буквы на сайте отображаются правильно.
Но вот в phpmyadmin получаются бока...

Поставил эту версию, все буквы на сайте отображаются правильно.
Но вот в phpmyadmin получаются бока...
Code: Select all
-- Структура таблицы `cms_module_feusers_properties`
--
CREATE TABLE IF NOT EXISTS `cms_module_feusers_properties` (
`id` int(11) NOT NULL,
`userid` int(11) default NULL,
`title` varchar(100) character set latin1 default NULL,
`data` longtext collate utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC;
--
-- Дамп данных таблицы `cms_module_feusers_properties`
--
INSERT INTO `cms_module_feusers_properties` (`id`, `userid`, `title`, `data`) VALUES
(3, 3, 'email', 'eeee@rr.ru'),
(4, 3, 'country', 'Ð
Last edited by teroni on Sun Dec 14, 2008 2:48 pm, edited 1 time in total.
Re: Русский язык и 1.5.1
Ну так правильно =) теперь надо убить базу, создать заново, переустановить CMS и всё будет хорошо. У тебя раньше был latin1 и база залилась в нем, а теперь коннект идет в utf8 и видны каракули...
unsigned double ZYV;
Re: Русский язык и 1.5.1
Я так понимаю, что и сейчас в утф всё... Ведь новый контент я добавляю со страниц в утф, показываю его тоже на страницах в утф и там всё нормально видится. Если я базу по новому создам - что изменится? настроки сервака ведь те же остались!
А такой вариант подойдёт:
1) Сделать этот дамп с кракозябрами.
2) Перегнать его в утф.
3) В объявления всех таблиц вмест латин1 написать утф8.
4) Очистить базу на серваке.
5) Импортировать обработанный дамп.
Или после этого ЦМСка перестанет работать?
А такой вариант подойдёт:
1) Сделать этот дамп с кракозябрами.
2) Перегнать его в утф.
3) В объявления всех таблиц вмест латин1 написать утф8.
4) Очистить базу на серваке.
5) Импортировать обработанный дамп.
Или после этого ЦМСка перестанет работать?
Last edited by teroni on Sun Dec 14, 2008 7:12 pm, edited 1 time in total.
Re: Русский язык и 1.5.1
Ты же сам сказал что поменял настройки теперь? Как же они могли остаться одними и теми же.
Да, примерно такой вариант можно реализовать, я так клиентам базы выправляю, только делать надо всё правильно.
Да, примерно такой вариант можно реализовать, я так клиентам базы выправляю, только делать надо всё правильно.
unsigned double ZYV;
Re: Русский язык и 1.5.1
Я просто на некоторое время добавил в конфиг мускла вышеприведенные настройки... Посмотрел на сайт - там все русские символы навернулись, я быстренько вернул конфиг в исходное положение.
Ясненько, тогда попробую провести выправление базы.
Только вот всё равно так и не понял, почему у меня при изначальной установке у большинства таблиц и полей поставился CHARSET latin1, а не utf8. Вроде бы всё делал по указаниям в установке, и в пхпмуадмине написано, что умолчательная кодировка утф... Сейчас пороюсь в инсталляхе, какие там запросы по созданию таблиц...
Это конечно не функция создания таблиц, но в function CreateTableSQL($tabname, $flds, $tableoptions=false) тоже нет ни слова о кодировке таблицы. Почему разработчики не позаботились о такой "мелочи"? И еще вопрос, когда таблица создаётся таким образом, т.е. без указания кодировки, то откуда конкретно она берётся?
Ясненько, тогда попробую провести выправление базы.
Только вот всё равно так и не понял, почему у меня при изначальной установке у большинства таблиц и полей поставился CHARSET latin1, а не utf8. Вроде бы всё делал по указаниям в установке, и в пхпмуадмине написано, что умолчательная кодировка утф... Сейчас пороюсь в инсталляхе, какие там запросы по созданию таблиц...
Code: Select all
$query = "CREATE TABLE ".$config["db_prefix"]."userprefs (";
$query .= " user_id int(11),";
$query .= " preference varchar(50),";
$query .= " value varchar(255),";
$query .= " type varchar(25)";
$query .= ") TYPE=MyISAM";
Re: Русский язык и 1.5.1
Она берется из тех самых настроек по умолчанию, "которые ты поместил на некоторое время и удалил". Соответственно, если не указано обратное ВСЁ по умолчанию - latin1. Разработчики подразумевают, что если ты взялся за CMS, ты знаешь как работает mySQL и умеешь его администрировать. Или твой администратор это умеет. И это правильно.
Last edited by ZYV on Mon Dec 15, 2008 1:16 pm, edited 1 time in total.
unsigned double ZYV;
Re: Русский язык и 1.5.1
Таки конвертнул.
Алгоритм был такой.
1) В my.cnf поставил дефолтной для дампа и везде где можно latin1.
2) Сделал дамп через SSH.
3) На локалке перевёл дамп из latin1 в utf8, в тексте дампа везде latin1 поменял на utf8.
4) В my.cnf поставил дефолтной для дампа и везде где можно utf8.
5) Зашел в базу данных, удалил все таблицы, залил дамп.
В общем, намаялся по самое немогу.

Алгоритм был такой.
1) В my.cnf поставил дефолтной для дампа и везде где можно latin1.
2) Сделал дамп через SSH.
3) На локалке перевёл дамп из latin1 в utf8, в тексте дампа везде latin1 поменял на utf8.
4) В my.cnf поставил дефолтной для дампа и везде где можно utf8.
5) Зашел в базу данных, удалил все таблицы, залил дамп.
В общем, намаялся по самое немогу.
А написать в инсталле про нужные настройки mySQL или самим жёстко прописать типы таблиц им не позволила религияРазработчики подразумевают, что если ты взялся за CMS, ты знаешь как работает mySQL и умеешь его администрировать.

Re: Русский язык и 1.5.1
Ну, я делаю проще
т.к. этим больны все, кому сайт делали криворучки на заре появления collations, я написал полуавтоматику на основе старой версии phpmyadmin. Соответственно этапы сводятся к сливке дампа, удалению базы и изменению настроек сервера и перезаливкой дампа. Занимает 15 минут.
Ещё раз, жестко прописывать в install кодировку и collations - это плохо, т.к. у каждого свои потребности, у меня, например, были ситуации, когда надо было интегрировать CMSMS как часть очень большой системы, работающей в cp1251. Предполагается, что раз ты взялся за дело, то ты хотя бы самые элементарные понятия имеешь о том, как что работает и не встретишь никаких трудностей также как и я.
Документация - это вещь хорошая. Давно существует wiki, можешь написать там всё, что считаешь нужным - логин - твой форумский.

Ещё раз, жестко прописывать в install кодировку и collations - это плохо, т.к. у каждого свои потребности, у меня, например, были ситуации, когда надо было интегрировать CMSMS как часть очень большой системы, работающей в cp1251. Предполагается, что раз ты взялся за дело, то ты хотя бы самые элементарные понятия имеешь о том, как что работает и не встретишь никаких трудностей также как и я.
Документация - это вещь хорошая. Давно существует wiki, можешь написать там всё, что считаешь нужным - логин - твой форумский.
unsigned double ZYV;
Re: Русский язык и 1.5.1
ЗаписалZYV wrote: Документация - это вещь хорошая. Давно существует wiki, можешь написать там всё, что считаешь нужным - логин - твой форумский.

Re: Русский язык и 1.5.1
Вот за это спасибо, правда куда - не нашел. Если что-то нужно в install.txt - давай diff на английском - помогу пробить.
unsigned double ZYV;