【问题标题】:Incorrect string value: '\xAE'不正确的字符串值:'\xAE'
【发布时间】:2019-04-24 13:13:41
【问题描述】:

我正在尝试用注册的trademark symbol ® 写一个字符串

这个符号是通过按 Alt 然后 0174 来实现的。

当我通过MySQL ODBC 写入符号时,我收到以下错误报告

Microsoft OLE DB Provider for ODBC Drivers 中出现异常:[ma-3.1.0][8.0.13] 字符串值不正确:“Fast”列的“\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 数据库?

【问题讨论】:

  • 你确定你也连接到 utf8mb4 字符集?

标签: mysql character-encoding odbc collation


【解决方案1】:

Hex AE® 的 latin1(以及 cp1250、cp1251、cp1256、cp1257、geostd8、hebrew、latin5、latin7)编码。

使用 latin1 是可以的,但路径中的某个人期待 UTF-8,因此出现了问题。

在任何地方都使用 UTF-8 会“更好”。你在哪里按了 ALT 序列?如果是Windows中的cmd工具,那么

命令“chcp”控制“代码页”。 chcp 65001 提供 utf8,但它也需要安装一个特殊的字符集。一些代码页 要在控制台窗口中设置字体:右键单击窗口标题 → 属性 → 字体 → 选择 Lucida Console

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

【讨论】:

  • 我按照脚本将字符集设置为utf8mb4。
  • @SeanJ 我建议 client 有问题。
猜你喜欢
  • 2014-04-23
  • 2018-02-15
  • 2011-09-13
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
相关资源
最近更新 更多