У меня в phpMyAdmin вместо русских букв в таблице отображаются знаки вопроса. Я понимаю, что это проблемы с кодировкой, но не могу перекодировать уже готовую таблицу, чтобы она отображалась правильно. Подскажите, пожалуйста: что надо делать? Удалить старую базу и переписать заново её с нормальной кодировкой (у меня нормальная - utf8), к сожалению, невозможно, так как база состоит предположительно из десятков таблиц с сотнями строк. Спасибо за ответы.
Ход моей работы:
Запущены все три службы ХАМРР (у меня ХАМРР 7.0.8).
В терминале Линукса ввожу следующие пять команд:
sudo mysql -S '/opt/lampp/var/mysql/mysql.sock'
create database zveri;
use zveri;
create user 'z1'@'localhost' identified by '12345';
grant all privileges on zveri.* to 'z1'@'localhost';
Далее там же, в терминале, создаю таблицу и вставляю туда данные:
source /opt/lampp/htdocs/CodeSamplesRus/createtable.sql;
source /opt/lampp/htdocs/CodeSamplesRus/insertintotable.sql;
Терминал выдаёт сообщение о каких-то предупреждениях, которые не знаю, как прочитать:
Database changed Query OK, 5 rows affected, 10 warnings (0.03 sec) Records: 5 Duplicates: 0 Warnings: 10
Файлы созданы с кодировкой UTF-8 в ActiveState Komodo Edit 11.
createtable:
CREATE TABLE Information
( Nomer INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Odin CHAR(50) NOT NULL,
Dva CHAR(100) NOT NULL
);
insertintotable:
USE zveri;
INSERT INTO Information VALUES
(NULL, 'Раз', 'Вышел'),
(NULL, 'Два', 'Зайчик'),
(NULL, 'Три', 'Погулять'),
(NULL, 'Четыре', 'На полянке'),
(NULL, 'Пять', 'Поскакать');
В результате в таблице в phpMyAdmin отображается информация, показанная на скриншоте.
Интересно, что если зайти во вкладку Structure для таблицы Information, то Collation там будет равно latin1_swedish_ci. При чём тут шведская кодировка - совершенно неясно, но ладно. :)
Пытаюсь перекодировать в Терминале. Сначала всю базу:
alter database zveri character set utf8 collate utf8_unicode_ci;
show create table Information;
Показывает:
ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
Ничего не получилось.
Затем пытаюсь перекодировать только таблицу, хоть это не совсем, по-моему, хороший способ (а если таблиц много - возиться с каждой по отдельности?)
alter table Information convert to character set utf8 collate utf8_unicode_ci;
show create table Information;
Показывает:
ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
В Терминале перекодировал. И во вкладке Structure тоже перекодировал. Однако в phpMyAdmin в самой таблице вместо данных русскими буквами всё равно остаются вопросы без изменений.
Как это исправить?
Обратите внимание на ваш 5й шаг. Вы сделали перекодировку таблицы. Теперь она готова для загрузки данных. Удалите старые данные (которые ????) и залейте по новой их в таблицы.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Можете пожалуйста помочь, напишите что у меня не такЯ хочу что бы статьи были слева, а комментарии справа, но ничего не работает
Помогите пожалуйстаУ меня есть одна проблема, мне нужно сохранить результаты работы в программе в виде скриншота в папку, где находиться...
Начал изучать язык СиПытаюсь скомпилировать простенькую программку, и выбивает такую ошибку