Вставка греческого символа в столбец таблицы MySQL без использования PHP - PullRequest
0 голосов
/ 29 мая 2019

У нас есть таблица MySQL, как показано ниже:

CREATE TABLE Test
(
ID INT(11),
Value VARCHAR(100)
);

Я хочу использовать запрос INSERT и загрузить греческие данные в столбец Value.Я хотел бы повторить, что я не хочу никакого участия PHP или какого-либо инструмента стороннего поставщика.

Я уже пытался выполнить запрос INSERT, как показано ниже.Запрос выполняется.Когда вы выполняете SELECT для таблицы, мы видим ?????отметки вместо данных.

Кроме того, я также попытался изменить набор символов, но это не помогает.

ПРИМЕЧАНИЕ.мы видим греческие данные

INSERT INTO TEST VALUES (1,'ΜΑΣΟΥΤΗΣ Δ. Α.Ε');

SELECT * FROM TEST;

Ожидаемый результат - видеть греческие данные в таблице, но на самом деле мы видим ?????.

1 Ответ

0 голосов
/ 30 мая 2019

5.5 по умолчанию CHARACTER SET latin1 для любой таблицы, используемой по умолчанию.

8.0 по умолчанию CHARACTER SET utf8mb4.

Для правильной работы версии 5.5 укажите набор символов в определении таблицы. Для греческого языка либо utf8, либо utf8mb4 будут работать.

См. "Вопросительный знак" в Проблема с символами UTF-8; то, что я вижу, не то, что я сохранил

Примечание: в 5.5 или 5.6, если вы индексируете столбец, который является VARCHAR(255) CHARACTER SET utf8mb4, вы получите ошибку. Это можно обойти несколькими способами.

См. http://mysql.rjweb.org/doc.php/limits#767_limit_in_innodb_indexes

...