Я хранимую большой арабский базы данных в Mysql с помощью Perl в неправильном формате, вот что случилось:Преобразование Mysql хранятся данные для исправления utf8
1) -Mysql таблицы, созданные с атрибутами:
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
2) - Мои скрипты perl создаются в utf8, и я использую «use utf8;» на вершине.
3) -Я могу прочитать данные из таблицы и отобразить ее на арабском языке на html-страницах, используя метатег charset utf8.
Проблема, когда я вижу, данные в базе данных он хранится в виде кодируются не читаемым, после поиска о Perl модуля DBI, я нашел, что я должен сделать это:
$dbh->{'mysql_enable_utf8'} = 1;
$dbh->do('SET NAMES utf8');
Сразу после подключения к базе данных, Я не делал.
Теперь, если я это сделаю, новые данные, хранящиеся в таблице, отображаются правильно везде, даже в приложении windows браузера mysql.
Проблема теперь с уже данными, хранящимися в таблице, кажется, что она набирает двойной код utf8 или что-то в этом роде. Как исправить уже сохраненные данные, когда указанные выше флаги не были установлены.