Firebird C Api 执行 Unicode Sql 语句
Firebird C Api Executing Unicode Sql Statements
当我尝试在 Firebird C Api 中执行 sql 语句时,我只能使用 char* sql 语句并且不能执行宽字符。如何使用带有宽字符的 execute() 或 prepare()?
const char* updstr = "UPDATE Tablo SET TABLOADI='Türkçe karakterler ğüşıç'";
//const wchar_t* updstr = L"UPDATE Tablo SET TABLOADI='Türkçe karakterler ğüşıç'";
// attach employee db
att = prov->attachDatabase(&status, "employee", 0, NULL);
// start transaction
tra = att->startTransaction(&status, 0, NULL);
// prepare statement
stmt = att->prepare(&status, tra, 0, updstr, SAMPLES_DIALECT, 0);
问题已解决。当我使用 Flamerobin 查看数据库中的数据时,连接和数据库排序规则未设置为 Utf8,因此我看到了损坏的字符。我到处都设置为 utf8,并且有效。
当我尝试在 Firebird C Api 中执行 sql 语句时,我只能使用 char* sql 语句并且不能执行宽字符。如何使用带有宽字符的 execute() 或 prepare()?
const char* updstr = "UPDATE Tablo SET TABLOADI='Türkçe karakterler ğüşıç'";
//const wchar_t* updstr = L"UPDATE Tablo SET TABLOADI='Türkçe karakterler ğüşıç'";
// attach employee db
att = prov->attachDatabase(&status, "employee", 0, NULL);
// start transaction
tra = att->startTransaction(&status, 0, NULL);
// prepare statement
stmt = att->prepare(&status, tra, 0, updstr, SAMPLES_DIALECT, 0);
问题已解决。当我使用 Flamerobin 查看数据库中的数据时,连接和数据库排序规则未设置为 Utf8,因此我看到了损坏的字符。我到处都设置为 utf8,并且有效。