powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не получается конвертировать latin1 в utf8
2 сообщений из 2, страница 1 из 1
Не получается конвертировать latin1 в utf8
    #39034884
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно сабж, у клиента на aws есть база mysql 5.6.21

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
mysql> show variables like '%charac%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | utf8                                      |
| character_set_connection | utf8                                      |
| character_set_database   | utf8                                      |
| character_set_filesystem | binary                                    |
| character_set_results    | utf8                                      |
| character_set_server     | latin1                                    |
| character_set_system     | utf8                                      |
| character_sets_dir       | /rdsdbbin/mysql-5.6.21.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
8 rows in set (0.11 sec)

mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | utf8_general_ci   |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.05 sec)



Привожу картинку, так как движок форума походу не поддерживает аррабские :)

Собственно что пробовал сделать, немного погуглив нашел такие способы

Код: sql
1.
2.
3.
4.
5.
6.
7.
# mysqldump --opt --default-character-set=latin1 --skip-set-charset -p db_latin1 -u user > latin1.sql

# sed -i 's/latin1/utf8/g' latin1.sql

# iconv -f latin1 -t utf-8 < latin1.sql > utf8.sql

# mysql --default-character-set=utf8 -u user -p db_utf8 < utf8.sql



В результате данные в базе db_utf8 получаются битыми. Как все таки правильно конвертировать данные?

P.S.
базу db_utf8 создавал так
Код: sql
1.
mysql> create database db_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
...
Рейтинг: 0 / 0
Не получается конвертировать latin1 в utf8
    #39034889
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
mysql> show create table t1\G;
*************************** 1. row ***************************
       Table: t1
Create Table: CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `page_title` varchar(250) DEFAULT NULL,
  `keywords` varchar(255) DEFAULT NULL,
  `description` blob,
  `file_name` varchar(50) DEFAULT NULL,
  `page_content_2` blob,
  `page_content_3` blob,
  `page_content` blob,
  `update_date` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8
1 row in set (0.06 sec)



Так же пробовал через alter table изменить тип поля на BLOB, а затем вернуть text/varchar с явным указанием кодировки, тоже не помогло
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Не получается конвертировать latin1 в utf8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]