部署与本地:存储的数据在部署的应用程序与使用 mysql 的本地应用程序中是意外的
deployed vs local: stored data are unexpected in the deployed app vs local app using mysql
我正在开发一个网络应用程序,并尝试使用 asp.net 核心 3.1 存储来自 post 请求的一些输入数据。
起初我应该说我使用非英语语言进行输入。
在本地状态下一切正常,但是当我发布它并尝试将数据存储在 MySQL 数据库中时,值是意外的(以一些问号的形式)。我想到的第一件事可能是我使用了不合适的字符集和编码,所以我将编码更改为我本地最接近的编码。没用。
我什至分析了 HTTP 请求,没有问题。
然后我尝试使用插入方法直接在 phpMyAdmin 中插入。工作正常。
本地编码:utf8mb4_0900_ai_ci
远程编码:utf8mb4_unicode_ci
如有任何帮助,我们将不胜感激。
连接参数决定了客户端中字节的字符集。要正确存储和检索数据,您必须知道字符集并在连接时宣布它。
在客户端和服务器之间传输数据时,MySQL 将从该字符集转换为为您要存储到/从中获取的列定义的字符集。
听起来您为一个客户端正确地建立了字符集,而为另一个客户端建立了错误的字符集。
如果你能在客户端提供字符的十六进制,我可以进一步解释。
utf8mb4_0900_ai_ci
和 utf8mb4_unicode_ci
不同 Collations 相同 字符集(编码)utf8mb4
.字符将在客户端和服务器之间传输而无需任何转码。但是,由于排序规则不同,比较可能会出现问题。
我正在开发一个网络应用程序,并尝试使用 asp.net 核心 3.1 存储来自 post 请求的一些输入数据。
起初我应该说我使用非英语语言进行输入。
在本地状态下一切正常,但是当我发布它并尝试将数据存储在 MySQL 数据库中时,值是意外的(以一些问号的形式)。我想到的第一件事可能是我使用了不合适的字符集和编码,所以我将编码更改为我本地最接近的编码。没用。
我什至分析了 HTTP 请求,没有问题。
然后我尝试使用插入方法直接在 phpMyAdmin 中插入。工作正常。
本地编码:utf8mb4_0900_ai_ci
远程编码:utf8mb4_unicode_ci
如有任何帮助,我们将不胜感激。
连接参数决定了客户端中字节的字符集。要正确存储和检索数据,您必须知道字符集并在连接时宣布它。
在客户端和服务器之间传输数据时,MySQL 将从该字符集转换为为您要存储到/从中获取的列定义的字符集。
听起来您为一个客户端正确地建立了字符集,而为另一个客户端建立了错误的字符集。
如果你能在客户端提供字符的十六进制,我可以进一步解释。
utf8mb4_0900_ai_ci
和 utf8mb4_unicode_ci
不同 Collations 相同 字符集(编码)utf8mb4
.字符将在客户端和服务器之间传输而无需任何转码。但是,由于排序规则不同,比较可能会出现问题。