Недавно мне нужно было перенести мой сайт и все его содержимое. Я поддержал все и вручную распаковал все на новом хостинге. Очень утомительный процесс, мягко говоря.escape-символ mysql import
Однако после переезда я обнаружил, что база данных Wordpress была опрокинута, и я только что понял проблему.
Текстовый символ Юникода ’
(u8217) используется в некоторых текстовых частях сайта. По какой-то неизвестной причине этот символ заставляет вставки заканчиваться у этого символа. Я знаю это, потому что фрагменты текста перед этим символом успешно вставлены, а все остальное опущено. (Я редактировал этот пост, потому что в моем первоначальном посте я думал, что это был виновником был '
апостроф, но это юникода характер ’
)
Команда, которую я использовал для резервного копирования является:
mysqldump --no-create-db --add-drop-table --all-databases -u [username] –p[password] -h [host] > backup.sql
команда, я использую для импорта является:
mysql -u [username] -p[password] -h [host] < backup.sql
Вам не нужно ничего скрывать - все необходимые символы автоматически экранируются. Вместо этого вам нужно приложить немного больше усилий для расследования того, что, безусловно, «сломалось». Были ли у вас какие-либо сообщения об ошибках при импорте? Если нет - все символы были экранированы должным образом, и ваша проблема находится где-то в другом месте. –
Хороший момент, извините, я больше не объяснял. После импорта строка с 'Today's 'оставила отрезок текста. Таким образом, предположение заключалось в том, что вставка SQL заканчивается. Но нет, никаких сообщений об ошибках (если они не регистрируются где-то, о чем я не знаю). – ryvantage
Откуда вы знаете, что «остальное отрезано»? Где вы это видите? В вашей заявке? Как вы могли сказать, что это резервное копирование mysql, а не ваше приложение? Почему бы не увидеть ** прямо в файле дампа **? –