Как поменять кодировку таблицы в phpMyAdmin?
Развернул вордпресс на локалхосте, начал разработку и сейчас столкнулся с проблемой что названия городов сохраняются как .
Полез в phpMyAdmin а там:

Может ли это быть корнем проблемы и если да, то как можно изменить latin_swedish на utf?
- Вопрос задан более трёх лет назад
- 27230 просмотров
Комментировать
Решения вопроса 1
В редактировании поля:
+ в настройках самой таблицы:

Ответ написан более трёх лет назад
Нравится 10 3 комментария
The Whiz @modernstyle Автор вопроса
Большое спасибо за помощь!
У базы поменял вручную кодировку, а как у всех таблиц этой базы поменять кодировку, не залезая в каждую таблицу? Пробовал использовать вот этот запрос, но не получилось:
SELECT CONCAT(‘ALTER TABLE `’, t.`TABLE_SCHEMA`, ‘`.`’, t.`TABLE_NAME`, ‘` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;’) as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = ‘db_name’
ORDER BY 1
делаю в phpmyadmin
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- PHP
- +2 ещё
Какие простые, «бытовые» задачи подходят для изучения машинного обучения?
- 1 подписчик
- 28 минут назад
- 17 просмотров
Кодировка данных в phpmyadmin
Создал БД в phpmyadmin, через скрипт туда записываю данные, однако там русские слова отображаются неправильно. Какая кодировка должна по умолчанию быть в скрипте и в майадмине? Где и как проще сменить кодировку? Предпочел бы сменить в майадмине, но сойдет и изменение в скрипте на ту, что стоит в майадмине по умолчанию.
Отслеживать
51.4k 87 87 золотых знаков 267 267 серебряных знаков 505 505 бронзовых знаков
задан 20 авг 2011 в 15:20
91 2 2 золотых знака 3 3 серебряных знака 16 16 бронзовых знаков
Не могу пока решить проблему. Сначала надо в базу заносить данные, потом смотреть их через майадмин. При этом запрос имеет вид INSERT into users values («Текст»), кодировка функцией mb_detect_encoding определяется как UTF-8. В базе меняю кодировку (сравнение у них это называется) на UTF8_unicode_li для базы, таблицы и колонки, но данные все равно отображаются не правильно. Что еще можно попробовать?
20 авг 2011 в 16:40
а на выводе у вас тоже UTF-8 или выводите с другой кодировкой? Попробуйте кодировку сайта поменять на UTF-8 или выводимые значения конвертировать на кодировку вашего сайта.
21 авг 2011 в 2:47
В самом админе выводится неправильно или на сайте при запросе?
21 авг 2011 в 16:11
Вот именно в админе неправильно. Кстати, кодировка в php изначально все-таки ср1251, как выяснилось (функция mb_detect_encoding оказалась не права). Поэтому изменял все в базе именно на нее, но в админе все равно некорректно отображается.
22 авг 2011 в 9:37
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
в пхп это: в самом начале скрипта — mysql_query(«SET NAMES ‘ваша кодировка в бд'»);
в мускуле — заходите в параметры бд и там будет опция смены кодировки.
Отслеживать
ответ дан 20 авг 2011 в 15:48
1,274 9 9 серебряных знаков 24 24 бронзовых знака
и когда база разрастётся — наслаждайтесь её тормозами, ага!
20 авг 2011 в 21:49
если есть доступ к файлу настроек MySQL сервера my.ini, то всё просто:
[client] # кодировка в которой сервер "работает" с клиентом (с Вашим скриптом в частности) default-character-set=utf8 [mysql] # кодировка в которой сервер "работает" с консолью (win+r -> cmd -> . ) В винде это cp866 default-character-set=cp866 [mysqld] # кодкировка, в которой сервер хранит информацию character-set-server=utf8
Если все файлы скриптов и всё-всё-всё будет сохранено в utf8, то будет Вам счастье. Надеюсь помог.
П.С. Просто чтобы Вы знали говорю: то, что в майАдмине названо сравнением не связано с тем, в какой кодировке сервер БД будет возвращать информацию. Это всего лишь тип способа сравнения строк. например, если задано сравнение utf8_general_ci, то MySQL будет думать что строки «mysql» и «MySQL» равны. Если же установлено сравнение к примеру utf8_bin, то эти же строки сервером будут расценены как разные.
Как изменить кодировку сравнения баз данных?
Форум PHP-MyAdmin.RU → Работа с phpMyAdmin → Как изменить кодировку сравнения баз данных?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 2
1 Тема от Rabotyaga 2020-03-16 23:41:55 (изменено: Rabotyaga, 2020-03-16 23:55:45)
Тема: Как изменить кодировку сравнения баз данных?

Очень нужно это пофиксить, возможно ли?
Поставить кодировку одинаковую с остальными бд

И сделать одинаковую кодировку у некоторых таблиц здесь, через запросы не помогает. (database и server)
Доступа к mysql серверу у меня нет прямого, все через хостинг.
2 Ответ от Hanut 2020-03-17 22:26:05
Re: Как изменить кодировку сравнения баз данных?
Выбираете БД в phpMyAdmin, переходите на вкладку «Операции» и ставите сравнение внизу. Эта настройка влияет только на кодировку таблиц создаваемых без ее указания.
Но на самом деле, не важно какие кодировки указаны в настройках, если они правильно передаются при подключении к БД в скрипте. Обратите внимание именно на настройку скрипта, где обязательно должно быть что-то вроде запроса SET NAMES ‘utf8’;
Перед изменением кодировки таблицы сохраните исходные данные. Такое действие может погубить кириллицу.
Сообщения 2
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум PHP-MyAdmin.RU → Работа с phpMyAdmin → Как изменить кодировку сравнения баз данных?
Форум работает на PunBB , при поддержке Informer Technologies, Inc
Currently installed 7 official extensions . Copyright © 2003–2009 PunBB.
Изменение кодировки базы данных по умолчанию
Для изменения кодировки базы по умолчанию, например, на UTF-8, зайдите в интерфейс PHPMyAdmin.
- В левой колонке выберите нужную базу данных.
- Перейдите на вкладку Операции.
- В блоке Сравнение выберите utf8_general_ci.
- Нажмите кнопку Вперед.

Рекомендуется выбирать кодировку в соответствии с требованиями CMS или рекомендациями разработчика.
utf8_general_ci или utf8_unicode_ci — подходит для большинства CMS.
utf8mb4_unicode_ci или utf8mb4_unicode_520_ci — подходит для новых установок CMS на MySQL 5.6.
utf8mb4_0900_ai_ci — подходит для новых установок CMS на MySQL 8.