web:convert_db_utf-8
Как конвертировать базу в UTF8
как конвертировать СУБД MySQL в UTF8 (из дефолтной кодировки
1. make dump
mysqldump -u user -p --default-character-set=latin1 --skip-set-charset dbname > dbname.sql
Действие второе — заменить стандартные кодировки таблиц:
sed -r 's/latin1/utf8/g' dbname.sql > dbname_utf.sql
Действие третье — воссоздать базу данных с новой дефольной кодировкой:
mysql -u user -p --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
Действие четвёрное — залить в базу все данные:
mysql -u user -p --default-character-set=utf8 dbname < dbname_utf.sql
Вот, собственно и всё. Правда есть ещё одна очень важная мелочь — указывать стандартную кодировку для отдачи данных для каждого нового соединения с СУБД, делается это следующим SQL запросом:
SET NAMES 'utf8' COLLATE 'utf8_general_ci'
web/convert_db_utf-8.txt · Последнее изменение: 2013/08/16 19:15 — 127.0.0.1
Обсуждение