【发布时间】:2016-05-01 14:50:50
【问题描述】:
我正在尝试保存一些以货币符号为前缀的值,例如 10 欧元。然而,当我在数据库中手动输入它们时,欧元符号会时不时地转动?然后,当我查询该行时,有时会再次获得带有值的问号,而其他时候则获得完整值的 NaN。 如果我使用电子邮件字段或唯一标识符查询该行,问题就会发生变化。使用 $ 或 ® 代替 € 没有问题;不过,即使 ™ 变成了 ?。
奇怪的是,如果我尝试用原始字符替换问号,MariaDB 会抱怨该行没有任何变化,就像那个字符实际上存在,即使没有显示!
我尝试重新启动 MariaDB,以防万一,但问题仍然存在。 我使用 UTF32 进行编码,使用 utf32_unicode_ci 进行排序。 我正在用 Sequel_pro 测试这个东西,甚至没有接触 php 来堆叠东西。 无论如何,如果我从 php 脚本执行查询并使用 JSON 解析结果,我会得到 null 的值。
这些特殊字符可能有什么问题?
【问题讨论】:
-
除非您用于将数据编辑到数据库中的工具的编码方式与数据库的编码方式相同,否则您会遇到这样的问题。 UTF-8 还不足以满足您的需求吗?
-
另一个 3d 提到了更改所有表的设置的选项,但我不知道如何在 SequelPro 中执行此操作。
-
使用 UTF8 没有任何改变,当我查询该行时,€ 再次变为 ?.
-
这不是我想说的。我是说如果你将 ascii 输入到 UTF-Anything 中,它会导致问题。您必须确保用于添加 € 符号的任何内容也使用相同的编码