PDA

Просмотр полной версии : Первая установка, UTF8 и свои грабли.


Sail
25.04.2007, 18:24
Приветствую сообщество пользователей typo3!

Я со своими граблями, с вашего позволения ;)

Я вел себя хорошо, много прочел на форуме, спасибо. Помогло. Ставится все теперь хорошо. Без глюков. Знаю где лежит localconf.php и люблю читать install.txt :D Русский в BE работает (в меню), но в других местах, увы выводит - ?????????????.

Опишу свой путь приведший к такому плачевному результату, тем более заметил, что это стало хорошим правилом, описать как ты шел такой же дорогой как все, а пришел в другое место.

1. скачал typo3_src и dummy и залил последовательно на выделенную на сервере мне папку типа: моякомпани.сом

2. пошел в моякомпани.сом/typo3conf/localconf.php и вставил такие строчки:

- $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8; SET character_set_connection = utf8;'; (одной строкой)

- $TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';

(я проделал это до запуска install tool)

3. запустил install tool и выполнил пошаговые инструкции

Тут надо заметить, что у меня доступ только к моей папке, - этой самой - моякомпани.сом. Я имею к ней доступ через WinSCP3, если это о чем-то говорит. Через нее я прописываю папкам 0777 и пр. для чего у меня ума хватает.

Собственно сам сервер у меня под соседним столом и я имею permission протереть его тряпочкой или вылить на него кофе :) Я могу попросить знающих людей, в нем чего либо настроить, если в этом есть необходимость для решения моей проблемы. Сам я пока не проходил это в школе ;)

Далее, проблема я думаю ясна. Начав работать в typo3 я сразу встаю на грабли и получаю при создании новой страницы в pagetitle вместо нормального русского языка набор из - ???????????, тоже самое и при попытке ввода текста на русском языке в page content, опять куча - ???????????????.

При этом еще выскакивает сбоку маленькая фигулинка с таким например текстом:

Errors: 102: These fields are not properly updated in database: (bodytext) Probably value mismatch with fieldtype.

Позже добавлял и это в Install Tool в разделе [setDBinit]:

SET character_set_client = `utf8`
SET character_set_results = `utf8`
SET collation_connection = `utf8_general_ci`
SET NAMES utf8
SET character_set_connection = `utf8`

Не помогло.

Буду признателен за помощь.

void
25.04.2007, 19:29
Зайдите в phpmyadmin (если нет отдельно стоящего, можно поставить экстеншен phpmyadmin). Посмотрите на collation таблиц. Если cp1251, то поменяйте на utf8_general_ci или utf8_unicode_ci.

Относительно setDBinit, SET NAMES utf8; дожно вполне хватать.

Sail
25.04.2007, 20:03
Понять что такое phpmyadmin удалось довольно быстро, даже проинсталировать ;) (в смысле экстеншен). На collation таблиц посмотреть тоже удалось, сейчас там оказывается latin1_swedish_ci, а вот поменять на utf8_general_ci или utf8_unicode_ci с наскоку не вышло. В какой закладке это? И как? :rolleyes:

void
25.04.2007, 21:00
Операции -> сравнение

Sail
25.04.2007, 22:20
тоска гложет :confused: вот тут

http://cms.mcmlxvi.eu/images/collation.gif

это дело проделал, но если посмотреть в collation, там остается все по старому и ничего не меняется:

http://cms.mcmlxvi.eu/images/collation_table.gif

что за дела, вызывает подозрения месадж про error. :confused: а что он значит? лечится как нибудь? Спасибо.

void
25.04.2007, 23:58
А, да, забыл. Сравнение у базы сменилось, а у таблиц - нет. Таблиц много, менять у каждой долго... Наверно, стоит написать мини-скрипт.

Sail
26.04.2007, 02:56
Понял, спасибо.

Я тут попробовал пойти таким путем. Прошу оценить коректность.

Через экстеншен phpmyadmin я сделал БД с utf8_general_ci:

1.

http://cms.mcmlxvi.eu/images/database_1.gif



2.

http://cms.mcmlxvi.eu/images/database_2.gif
Но в окне grate new table on data base ничего не вводил, попросту по причине того что не знал что туда вбивать ;)




Потом по новой прошел инсталяцию, при этом на этапе когда надо было выбрать базу данных, выбрал уже эту самую, с utf8_general_ci которую ранее создал.

Потом, после инсталяции добавил в all configuration:

$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8';
и
$TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';

и все.

Все заработало.

У меня вопрос, коректно ли это.

И еще, почему многие советуют делать

это:

$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8';
и
$TYPO3_CONF_VARS["BE"]["forceCharset"] = 'utf-8';

до инсталяции, ручками, напрямую в localconf.php а не в all configuration после инсталяции, как я поступил в этот раз. Все ведь заработало. Где подвох вылезет?