C++MySQL连接器没有utf8
C++ MySQL Connector no utf8
我在从MySQL数据库获取UTF-8字符串时遇到问题。我使用C++连接器1.1并连接以下代码:
sql::ConnectOptionsMap connection_properties;
connection_properties["hostName"] = server;
connection_properties["userName"] = user;
connection_properties["password"] = password;
connection_properties["schema"] = database;
connection_properties["port"] = 3306;
connection_properties["OPT_CHARSET_NAME"] = "utf8";
connection_properties["characterSetResults"] = "utf8";
connection_properties["preInit"] = "SET NAMES utf8";
driver = get_driver_instance();
con = driver->connect(connection_properties);
con->setSchema(database);
正如你所看到的,我已经尝试了不同的utf8选项。。。。
如果语句应返回数据库字符串,如"アフガニスタン当我使用Visual Studio调试器时,我只看到这样的字符">
std::string name = res->getString(2);
Json编码后打印出"éó"╣┐"│"进入命令行。
其他具有普通拉丁字符的utf8列将按预期返回。它只影响具有非拉丁字符的翻译列。
在同一台电脑上,来自具有相同逻辑(数据库连接和json编码)的PHP的相同数据库调用会打印出以下字符"\u30a2\u30d5\u30ac\u30cb\u30b9\u30bf\u30f3"。
对此有什么想法吗?
实际上没有问题。我将返回的数据写入一个文件,并且所有UTF-8字符都是正确的。调试器和CMD无法按预期显示UTF-8数据。。。
相关文章:
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 使用mysql c++连接器的未定义引用
- C ++如何使用UTF8十六进制代码打印UTF8符号?
- MySQL C++连接器链接错误
- C++ boost::asio::ip::tcp::acceptor 有时不接受连接器?
- C++MySQL连接器没有utf8
- 如何在连接器 C++ 中将原始字节转换为字符串
- 从/到 UTF-8/UTF-16 的转换需要(例如:utf8 -> 代码点,然后代码点到 utf16)或(例如:utf8 -> utf16)?
- C++和带有国家符号的文件路径(也许用 UTF8 编码)
- 'std::wstring_convert'尽可能多地转换(从 UTF8 文件读取块)
- MySQL 连接器/C++.尝试在此过程中停止连接到数据库
- 获取具有字段名称的 SELECT 字段类型,并带有 MariaDB C++连接器
- 如何使用连接器 c++ 在 mySQL 表二进制(16) 字段中存储 c++ 字节数组?
- 将utf16宽std::wstring转换为utf8窄std::string以获得罕见字符时出现问题
- MySQL C++连接器循环
- python UnicodeDecodeError: 'utf8' codec 无法解码字节
- MSVC UTF8字符串编码使用了不正确的代码点
- 使用C++将越南语字符从ISO88591、UTF8、UTF16BE、UTF16LE和UTF16编码为十六进制,反之亦然
- MySQL连接器C/C 8.0.13-无UNICODE/UTF8支持
- 如何使用连接器/C++发送查询以填充utf8 VARCHAR列