Как я могу изменить / создать таблицу для поддержки необычного текста (Unicode) - PullRequest
0 голосов
/ 03 марта 2019

Итак, я пытаюсь сохранить это значение в моей базе данных ????.Однако, когда я вставляю его в свою базу данных, он отображается пустым.Другой необычный текст вставляется просто отлично, но он портит необычный текст / юникод.Я хотел знать, как я могу изменить таблицу для поддержки всех видов текста (каждый возможный текст).

Я использую phpmyadmin

INSERT INTO users
(name, display_name)
VALUES ("Mike", "????");

Параметры сортировки установлены наutf8_unicode_ci

Набор символов по умолчанию базы данных: utf8

Совокупность символов по умолчанию - utf8_unicode_ci


Вот как я создаю свою таблицу

CREATE TABLE users (
    user_id         int(6)
                    NOT NULL
                    AUTO_INCREMENT
                    PRIMARY KEY,

    name            varchar(64)
                    NOT NULL,

    display_name    varchar(256)
                    NOT NULL
);

Я могу создать новую таблицу пользователей, но не могу создать новую базу данных, так как в базе данных много таблиц, которые яневозможно удалить (так как в них уже много данных)

1 Ответ

0 голосов
/ 04 марта 2019

MySQL может не поддерживать NVARCHAR, но я полагаю, что вместо этого можно использовать ключевое слово «NATIONAL», поэтому определение вашей таблицы для этого столбца будет:

display_name national varchar(256) not null

Кредит https://lists.mysql.com/mysql/116585Вот критическая информация:

mysql> create table bb(
    -> name NATIONAL VARCHAR(10));
Query OK, 0 rows affected (0.01 sec)

Если NVARCHAR не работает, то я подозреваю более старую версию MySQL, потому что согласно их последней документации https://dev.mysql.com/doc/refman/5.7/en/charset-national.html все они эквивалентны (обратите внимание на третий вариант):

VARCHAR(10) CHARACTER SET utf8
NATIONAL VARCHAR(10)
NVARCHAR(10)
NCHAR VARCHAR(10)
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)

Примечание: nvarchar / national varchar использует вдвое больше места для хранения (2 байта на символ), поэтому используйте его только тогда, когда вам нужно хранить символы уни-кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...