Исправление кодировки с 1251 на UTF8

Что-то не работает? Пишите здесь.

Исправление кодировки с 1251 на UTF8

UNREAD_POST garif » 22.12.2015 16:34:27

Добрый день.
Помогите решить проблему.
Первые 2 таблицы импортируются корректно, на 3ей выдается ошибка:

Код: Выделить всё
   MySQL Error: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs (/usr/share/nginx/*****/html/sxd/index.php:1594)


В проблемной таблице больше 50 полей, и большинство полей типа varchar(1000)
garif
 
Сообщения: 3
Зарегистрирован: 20.12.2015 12:16:07

Re: Исправление кодировки с 1251 на UTF8

UNREAD_POST zapimir » 24.12.2015 12:41:15

Для полей VARCHAR общая длина строки должна быть не больше 65535 байт. Видимо когда данные были в cp1251 они вписывались в это ограничение, измените у нескольких полей тип varchar(1000) на text, после чего таблицу можно будет восстановить из бэкапа в обновленную структуру, используя стратегию восстановления TRUNCATE + INSERT.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Исправление кодировки с 1251 на UTF8

UNREAD_POST garif » 24.12.2015 12:44:48

спасибо за ответ
увеличить размер общей длинны строки полей VARCHAR в настройках Mysql не предусмотрено?
garif
 
Сообщения: 3
Зарегистрирован: 20.12.2015 12:16:07

Re: Исправление кодировки с 1251 на UTF8

UNREAD_POST zapimir » 24.12.2015 22:25:40

Насколько можно судить по документации http://dev.mysql.com/doc/refman/5.7/en/ ... limit.html
нельзя это значение увеличить. Только если в TEXT или BLOB колонку переделать, они отдельно хранятся.
zapimir
Site Admin
 
Сообщения: 1628
Зарегистрирован: 01.10.2009 22:39:52

Re: Исправление кодировки с 1251 на UTF8

UNREAD_POST garif » 25.12.2015 08:36:46

спасибо
garif
 
Сообщения: 3
Зарегистрирован: 20.12.2015 12:16:07


Вернуться в Проблемы и баги

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 4

Яндекс.Метрика