@StanislavStd1999

Как при создании таблицы прописать свойство utf-8?

Подскажите, после создания таблицы она не видит Кириллицу, как мне создать её так, чтобы по умолчанию былоutf-8 и отображение Кириллицы?
И какие-то настройки ещё следует прописать?
И возможно ли указать кодировку при создании БД, чтобы все таблицы по умолчанию имели её?
Везде в примерах было только CREATE DATABASE name

"CREATE TABLE IF NOT EXISTS `post` (
    `id` int(32) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(128) DEFAULT NULL,
    `text` VARCHAR(128) DEFAULT NULL,
    PRIMARY KEY (`id`)
    )ENGINE=innoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
  • Вопрос задан
  • 2150 просмотров
Решения вопроса 1
@BorisKorobkov Куратор тега MySQL
Web developer
Как при создании таблицы прописать свойство utf-8?

CREATE TABLE ... DEFAULT CHARSET=utf8...

она не видит Кириллицу, как мне создать её так, чтобы по умолчанию было utf-8

Кириллица входит в UTF-8. С таблицей больше делать ничего не надо.

И какие-то настройки ещё следует прописать?

В клиенте (PHP, node.js, python и пр.) при коннекте к БД тоже надо указать, что данные в utf-8
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ant1quariat
Сделайте ещё один SQL-Запрос:

ALTER TABLE post CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;


Или объедините их в единый запрос:
CREATE TABLE IF NOT EXISTS `post` (
    id int(32) NOT NULL AUTO_INCREMENT,
    name VARCHAR(128) DEFAULT NULL,
    text VARCHAR(128) DEFAULT NULL,
    PRIMARY KEY (`id`)
    );
ALTER TABLE post CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы