![]() |
Я конечно могу опять залить старый движок на сервер, но смысл? Что именно Вам нужно знать по TemplaVoila чтобы понять проблему?
|
Вот еще запись в базе с таблицы tx_templavoila_datastructure в title Main Page в поле dataprot:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <T3DataStructure> <meta type="array"> <langDisable>1</langDisable> </meta> <ROOT type="array"> <tx_templavoila type="array"> <title>ROOT</title> <description>Select the HTML element on the page which you want to be the overall container element for the template.</description> </tx_templavoila> <type>array</type> <el type="array"> <field_menu type="array"> <tx_templavoila type="array"> <title></title> <sample_data type="array"> <numIndex index="0"></numIndex> </sample_data> <eType>TypoScriptObject</eType> <TypoScriptObjPath>lib.menu</TypoScriptObjPath> </tx_templavoila> </field_menu> <field_col1 type="array"> <tx_templavoila type="array"> <title>Column1</title> <sample_data type="array"> <numIndex index="0"></numIndex> </sample_data> <eType>ce</eType> <TypoScript><![CDATA[ 10= RECORDS 10.source.current=1 10.tables = tt_content 10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end--> ]]></TypoScript> <oldStyleColumnNumber type="integer">0</oldStyleColumnNumber> </tx_templavoila> <TCEforms type="array"> <config type="array"> <type>group</type> <internal_type>db</internal_type> <allowed>tt_content</allowed> <size>5</size> <maxitems>200</maxitems> <minitems>0</minitems> <multiple>1</multiple> <show_thumbs>1</show_thumbs> </config> <label>Column1</label> </TCEforms> </field_col1> <field_col2 type="array"> <tx_templavoila type="array"> <title>Column2</title> <sample_data type="array"> <numIndex index="0"></numIndex> </sample_data> <eType>ce</eType> <TypoScript><![CDATA[ 10= RECORDS 10.source.current=1 10.tables = tt_content 10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end--> ]]></TypoScript> <oldStyleColumnNumber type="integer">1</oldStyleColumnNumber> </tx_templavoila> <TCEforms type="array"> <config type="array"> <type>group</type> <internal_type>db</internal_type> <allowed>tt_content</allowed> <size>5</size> <maxitems>200</maxitems> <minitems>0</minitems> <multiple>1</multiple> <show_thumbs>1</show_thumbs> </config> <label>Column2</label> </TCEforms> </field_col2> <field_footertext type="array"> <tx_templavoila type="array"> <title></title> <sample_data type="array"> <numIndex index="0"></numIndex> </sample_data> <eType>TypoScriptObject</eType> <TypoScriptObjPath>lib.footer</TypoScriptObjPath> </tx_templavoila> </field_footertext> </el> </ROOT> </T3DataStructure> Я не знаю...посмотрите это во всех UID. Их 6 в таблице. И что это, вообще?) |
А вы сами на скриншоте той же базы не видите что ли что сопоставление кодировки в базе utf8_general_ci, кодировка всей базы вроде как тоже такая же, а половина таблиц вдруг почему-то в cp1251 - из-за этого все глюки и есть. Других причин нет и быть не может. Значит, надо конвертировать все в правильный utf8 и перезаливать целиком и полностью все в нем. И забыть cp1251 как страшный сон.
|
Цитата:
|
Просто сохраните дамп штатными средствами и посмотрите в обычном текстовом редакторе в какой он кодировке. Потом переведите этот сохраненный дамп в нужную вам кодировку, откорректируйте служебную информацию mysql в дампе, касающуюся кодировок и сохраните его. После этого очистите всю базу и заново выставив параметры соединения с mysql и параметры сопоставления кодировок залейте дамп.
|
Зачем все эти трудности?
На всякий случай делайте резервную копию БД. Ставите расширение sfdbutf8, пи помощи его конвертируйте БД в utf8. Далее, в самой БД ставим кодировку по умолчанию в utf8_general_ci. На всякий случай делаем проверку БД в install tool, заодно подгружаем заново все статические таблицы. Все. Это проверено ни на одном сайте. Работает. |
@Андрей, дело в том что конвертировать можно и средствами самого mysql прямо в том же phpMyAdmin, но надо хотя бы представлять что там на самом деле лежит, а то бывали случаи когда записи хранились в utf-8 вроде бы, но были в cp1251.
|
Цитата:
Хотя можно установить и на TYPO3 phpMyAdmin и глянуть, что там... Установить в нем же нужное сопоставление для всей базы данных - utf8_general_ci, оно понадобиться и для вновь создаваемых таблиц и т. д. Затем переконвертить поля/таблицы в неправильной кодировке... Кстати, сталкивался с тем, что иногда связанные поля не могут быть сконвертированы поодиночке - нужно выделить оба связанных поля и одновременно их сконвертировать... тут и упомянутое мной расширение sfdbutf8 не помогает - все ручками... Ну и обязательно, как уже говорил, проверку БД в install tool, заодно подгружаем заново все статические таблицы. Тут уже недостающие таблицы пересоздаются самой TYPO3 в уже нужной кодировке... Что касается статических таблиц, то они тоже пересоздаются в нужной кодировке, бывали случаи, когда при регистрации в форме, при выборе страны (на родном языке) появлялись кракозябры... Пересоздание статических таблиц (статик инфо тейбл в данном случае) помогло... Далее все зависит от конкретного случая... Возможно придется вмешаться и ручками подкорректировать записи содержимого в базе данных. Но это уже другая история... |
@Андрей, в том и дело что там половина таблиц в cp1251 и половина в utf8 - неважно чем делать дамп, в нем все будет ровно так же и для решения этого вопроса нужно либо дамп делить на куски и конвертировать кусками, либо руками в текстовом редакторе, который позволяет менять на лету кодировку в части файла.
|
Ну дамп - в любом случае текстовый файл... А уж чем с ним работать...
Проще отметить таблицы с кодировкой в cp1251 и еще раз отдельно их выгрузить, а уж в том же нотапде++ кодировку поменять нет проблем... Ну и загрузить их обратно... Кстати, может в том же Sypex Dumper можно на лету это сделать? Я не пробовал, но как вариант... Хотя у меня недавно с одним сайтом схожая проблема была... Увидел это по тому, как даже непичатный пробел не распознавался. Ну так вот, описанным мною способом все решилось без танцев с бубном... |
Часовой пояс GMT +4, время: 12:18. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot