PDA

Просмотр полной версии : желание сделать utf-8 против вредного хостера


viod
06.09.2009, 10:01
Всем здравствовать.
Есть проблема:
Хостер не дает возможности создавать базу данных при установке typo3. База данных создается через админ панель хостинга. При этом никакие данные кроме пароля не спрашиваются: нажимается кнопка, возвращается имя и логин.
Есть phpMyAdmin в нем видно, что:
-mysql кодировка: utf-8
-MySQL connection collation: utf8_unicode_ci

Но все таблицы создаются в сравнении latin1_german1_ci.
Если после установки менять всем таблицам сравнение - ничего хорошего не выходит. Любое расширение создает новые таблицы и они в latin1_german1_ci.

Каким образом можно решить эту проблему без участия хостера? Может быть где-то можно указать, чтобы ко всем mysql_query на создание таблиц добавлялось collation?

Valery Romanchev
06.09.2009, 13:30
в phpMyAdmin в свойствах базы проставьте collation

viod
06.09.2009, 13:52
в phpMyAdmin в свойствах базы проставьте collation
Нету. Есть только connection collation и оно utf8

Pavel Antonov
06.09.2009, 14:37
Если таблицы создаются через Install Tool, то надо прописать в конфиге TYPO3 (Можно через Install Tool):
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';

Удалите все таблицы и создайте заново через Install Tool.

Valery Romanchev
06.09.2009, 18:24
Нету. Есть только connection collation и оно utf8

"Операции"
далее - сравнение (внизу)

viod
06.09.2009, 20:02
Если таблицы создаются через Install Tool, то надо прописать в конфиге TYPO3 (Можно через Install Tool):
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';

Удалите все таблицы и создайте заново через Install Tool.

Никак не влияет на вновь созданные таблицы. Проверено и не один раз :)

viod
06.09.2009, 20:08
"Операции"
далее - сравнение (внизу)

http://www.knutarew-zahnarzt.de/phpmyadmin.jpg

Valery Romanchev
06.09.2009, 23:11
судя по картинке - не выбрана база данных. Жмите на нее в левом фрейме

viod
07.09.2009, 08:48
судя по картинке - не выбрана база данных. Жмите на нее в левом фрейме
Ну что же... Продолжим :)
http://www.knutarew-zahnarzt.de/phpmyadmin2.jpg

Azim
07.09.2009, 11:20
ALTER DATABASE `DB618732` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

viod
07.09.2009, 16:32
ALTER DATABASE `DB618732` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

Спасибо!!! Все гениальное просто! Что-то я думал, что если нету графического интерфейса для операций, то и операции запрещены. Забил запрос в phpMyAdmin, после этого все создаваться стало нормально.

А utf8_general_ci или utf8_unicode_ci ????
Сайт нужно делать на немецком и русском языках

dmartynenko
07.09.2009, 18:44
А utf8_general_ci или utf8_unicode_ci ????
Сайт нужно делать на немецком и русском языках

Все что идет после utf8_ влияет только на порядок сортировки.
Для немецкого языка лучше подойдет utf8_unicode_ci.
Подробности есть здесь: http://forums.mysql.com/read.php?103,187048,188748#msg-188748

1. utf8_unicode_ci supports so called expansions and ligatures, for example:
German letter ß (U+00DF LETTER SHARP S) is sorted near "ss"
Letter Œ (U+0152 LATIN CAPITAL LIGATURE OE) is sorted near "OE".

utf8_general_ci does not support expansions/ligatures, it sorts
all these letters as single characters, and sometimes in a wrong order.

2. utf8_unicode_ci is *generally* more accurate for all scripts.
For example, on Cyrillic block:
utf8_unicode_ci is fine for all these languages:
Russian, Bulgarian, Belarusian, Macedonian, Serbian, and Ukrainian.
While utf8_general_ci is fine only for Russian and Bulgarian subset of Cyrillic.
Extra letters used in Belarusian, Macedonian, Serbian, and Ukrainian
are sorted not well.

viod
07.09.2009, 18:55
Все ясно. Всем большое спасибо!!!