c++ - MySQL++ 的代码页相关问题

标签 c++ mysql codepages mysql++

代码:

mysqlpp::Query acc_query = connection->query("SELECT * FROM accounts;");

以下代码产生:

_Gfirst = 0x00c67718 "SELECT * FROM accounts;ээээ««««««««юоюою"

就像在 Visual Studio 调试器中一样。它似乎导致我的查询失败并出现奇怪的结果。

有没有人遇到过?

最佳答案

best to use UTF-8用MySQL编码。代码页是一个以 Windows 为中心的前 Unicode 概念。您使用它们而不是 Unicode 可能解释了您遇到问题的原因。虽然可以使 MySQL——以及 MySQL++——与 Windows 风格的代码页一起工作,但在 2010 年你不应该这样做。

如果您正在使用 Unicode,它可能是 UTF-16 编码(Windows 在 NT 衍生产品中的 native 编码),这再次解释了很多。

在将所有字符串数据发送到 MySQL 之前将其转换为 UTF-8 格式,并配置 MySQL 在其表中使用 UTF-8 编码。

关于c++ - MySQL++ 的代码页相关问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795442/

相关文章:

windows - 为什么某些字符代码缺少 Windows-125* 编码中的字符?

.net - 什么代码页将 'ç' 编码为 '?º' (0x3f 0xba)

C++ 增加 int 大小限制

c++ - 错误 LNK2001 : unresolved external symbol CATID_AppContainerCompatible

c++ - 如何在模板类的内部类中编写虚函数?

mysql延迟插入时间戳

mysql - GROUP BY DESC 如何选择顺序?

java - MySQL InnoDB 在等待表级锁时挂起

c - 在 C、Linux 中打印扩展 ASCII 字符

c++ - undefined symbol 体系结构 x86_64 的 undefined symbol : "_kCFAllocatorDefault"