У меня были некоторые проблемы с обновлением joomla с 1.0 до 1.5 (мне нужно пройти весь путь до 1.7;).
В любом случае, у моего клиента установлена старая версия joomla 1.0, а сайт является ненадежным.Хорватский.Это означает, что мне приходится иметь дело с такими символами, как Č, č, Ć, ć, Đ, đ ... Старая база данных находится в сопоставлении latin1_swedish_ci, и я перенес ее с помощью скрипта миграции в новую базу данных joomla 1.5, которая находится в utf8_general_ci.
Это привело (как и ожидалось) к некоторой путанице символов, например: ć стало è, È -> Č и т. Д. ...
Преобразование базы данных 1.0 в сопоставление utf8 не являетсявариант, поскольку он обрезает остальную часть содержимого при первом появлении Č, ć, đ, đ и т. д.
Итак, что я делал, так это запрос:
update jos_content
set introtext = replace(introtext, 'È', 'Č');
Для этого нужно получить таблицу содержимого joomla и во всех вступительных текстах заменить È на Č.
Я сделал это и для заголовков, но когда я пытаюсь сделать это с полным текстом, я получаю эту ошибку:
Error
SQL query:
UPDATE jos_content SET FULLTEXT = REPLACE( introtext, 'È', 'Č' ) ;
MySQL said:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fulltext = replace(introtext, 'È', 'Č')' at line 2
ТАК, это какая-то проблема с памятью (поскольку это полный текст в конце концов) или я просто что-то делаю не так.Кроме того, если есть лучший способ заменить все эти символы, скажите, пожалуйста, это то, что я понял из «нечитаемой» документации MySQL.