mysql: возможна потеря UTF-данных из преобразования типа char в текстовое поле? - PullRequest
0 голосов
/ 03 февраля 2010

У меня есть база данных, которую я использую для веб-приложения на иностранном языке / лексике и взаимодействует с ней через phpMyAdmin (и, конечно, php). У меня было около тысячи строк для арабского текста, который был помещен в поле char. Я хотел расширить размер своих записей, поэтому я прочитал, что текстовое поле может помочь мне превысить ограничение в 255 символов. Я изменил тип поля на текстовый - и все арабские записи теперь отображаются как бессмысленный знак вопроса и т. Д. Я имел дело с большим количеством этого типа отображения во всем дизайне сайта, убедившись, что все наборы символов и т. Д. Правильные, и это показывало хорошо в течение нескольких месяцев до этого изменения.

Насколько я знаю, я вернул всю структуру таблицы в ее исходное состояние, и проблема не устранена. Это довольно катастрофическая потеря, и я в основном задаюсь вопросом, были ли эти строки только что необратимо зашифрованы, или я просто просто не сбрасываю вещи должным образом. Любые идеи о том, как вернуть эти данные?

Большое спасибо заранее.

1 Ответ

0 голосов
/ 03 февраля 2010

Возможно, вам следует указать набор символов в операторе alter table, потому что по умолчанию он может содержать какую-то ерунду (например, latin1).

Если данные потеряны, то они являются постоянными. Вам нужно сделать резервную копию, чтобы решить эту проблему. : - (

...