Спасение поврежденных символов в базе данных - PullRequest
2 голосов
/ 29 августа 2009

Я только что импортировал огромную базу данных MySQL. Большинство полей являются latin1_swedish_ci и содержат много поврежденных строк.

например. Cavit Yï instead½r�kl� вместо Cavit Yürüklü

Я пытался найти решение, чтобы исправить эти повреждения, используя PHP, вот и все, что я знаю немного. Я неудачно сыграл с кодом utf8_ (en | de), iconv.

Пожалуйста, помогите !!! Как это много коррупций.

ОБНОВЛЕНИЕ: Импортировано как Latin 1 и теперь имеет значение выше, Cavit Y�r�kl�. Так что это определенно отличается, но сам sql кажется поврежденным.

Ответы [ 2 ]

1 голос
/ 29 августа 2009

Да, он использует неправильную кодировку. Проверьте http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html, чтобы узнать, как это исправить. Вам просто нужно выяснить, в какой кодировке он находится сейчас и во что вы хотите его поместить, и тогда вы сможете конвертировать. Или настройте базу данных в соответствии с кодировкой импортируемых вами данных (если это вариант)

0 голосов
/ 30 августа 2009

Сначала я сделал бы копию дампа базы данных, затем я попытался бы использовать iconv - и я знаю, что вы сказали, что пытались, но есть много, много комбинаций кодировок символов, которые вы можете попробовать - мне когда-то приходилось исправлять некоторые испорченные данные русской кириллицы - в итоге работало указание выходного значения 'UTF-8 // TRANSLIT' - я бы попробовал все комбинации, которые вы можете, но не забудьте сохранить копию оригинала.

...