代码:
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/