Неверное строковое значение: '\ xAE' - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь написать строку с зарегистрированным trademark symbol ®

Этот символ достигается нажатием Alt, а затем 0174.

Когда я пишу символ через MySQL ODBC, я получаю следующее сообщение об ошибке

Исключительная ситуация в поставщике OLE DB для драйверов ODBC: [ma-3.1.0] [8.0.13] Неверное строковое значение: '\ xAE' для столбца 'Быстрый

Я попытался изменить кодировку с latin1 на utf8mb4 и сопоставление на utf8mb4_unicode_ci, но все равно получил ту же ошибку.

Я также выполнил следующий запрос:

ALTER TABLE `meddata`.`diabeticglucoseloweringmedications`  
MODIFY COLUMN `FastPumpInsulinName` VARCHAR(30)  
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;

Как я могу записать ® в базу данных MySQL?

1 Ответ

1 голос
/ 30 апреля 2019

Hex AE - это кодировка latin1 (и cp1250, cp1251, cp1256, cp1257, geostd8, hebrew, latin5, latin7) для ®.

Можно использовать латынь 1, но кто-то впуть ожидает UTF-8, отсюда и проблема.

Было бы «лучше» использовать UTF-8 везде.Где вы нажали эту последовательность ALT?Если это инструмент cmd в Windows, тогда

Команда "chcp" управляет "кодовой страницей".chcp 65001 предоставляет utf8, но для него также требуется специальная кодировка.некоторые кодовые страницы Чтобы установить шрифт в окне консоли: щелкните правой кнопкой мыши заголовок окна → Свойства → Шрифт → выберите Lucida Console

- http://mysql.rjweb.org/doc.php/charcoll#entering_accents_in_cmd

...