gpt4 book ai didi

c# - 不正确的字符串值 : '\xC2\x9Fe 10...' for column

转载 作者:IT王子 更新时间:2023-10-28 23:44:29 24 4
gpt4 key购买 nike

我们有一个旧的 5.1 Mysql 服务器在服务器 2003 上运行。最近我们迁移到一个更新的环境,使用 Mysql 5.6 和服务器 2008。现在在新服务器上,我们在插入特殊字符(如 'Ã' 时不断出错。

现在我检查了源编码,是UTF-8。但是旧的 Mysql 服务器配置为 latin1(Server/tables/colonms),排序规则为 latin_swedish_ci,我们在旧环境中没有收到任何错误。

现在我已经做了一些测试,因为我们不在新环境中。我尝试将所有表设置为表/冒号以及 latin1。在这两种情况下,我都会不断收到这些错误。

我注意到,在旧服务器上,服务器默认字符集是 latin1,而在新服务器上,它是 utf-8。这可能是问题所在吗?我觉得这很奇怪,因为源是 utf-8。

是否有一些可以在旧环境中打开的选项来处理这个问题?我不确定是否存在类似的东西。我确实比较了 mysql 管理工具中的设置,除了默认的字符集外,它看起来是一样的。

编辑:

SHOW VARIABLES LIKE 'char%';

旧服务器:

+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | utf8 | *
| character_set_connection | utf8 | *
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 | *
| character_set_server | latin1 |
| character_set_system | utf8 |

新服务器:

+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | utf8mb4 | *
| character_set_connection | utf8mb4 | *
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 | *
| character_set_server | utf8 |
| character_set_system | utf8 |

据我从 MySQL 站点上的文章中了解到,utf8mb4 是 utf8 的超集,我认为这不应该对编码造成问题,因为它们在编码方面基本相同,对吧?

最佳答案

old UTF-8 of MySQL不是真正的 UTF-8。如果您尝试使用“特殊”字符(日文或中文),您可能会在旧服务器上看到方 block 或问号。

您的新服务器现在真正使用 UTF-8(mb4 代表多字节 4)。服务器接收 UTF-8 字符,但显然无法存储 UTF-8 字符,因为您的表未使用 UTF-8。将所有表转换为 UTF-8 并将数据库转换为 UTF-8,您将解决问题。

你可以这样做:

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

之前不要忘记备份。

来源:https://stackoverflow.com/a/6115705/1980659

关于c# - 不正确的字符串值 : '\xC2\x9Fe 10...' for column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31004996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com