【发布时间】:2015-11-07 15:17:26
【问题描述】:
我需要使用 C# 和 ODBC 从 MySQL 读取几列。一切正常,但我的语言中的字符如 ř(不认识其他人,但我相信还会有更多)。它们在最终字符串中显示为“?”。
这是我的代码:
string sql = "SELECT uzivatelske_jmeno,jmeno,prijmeni FROM zamestnanci WHERE id_user = " + id_user;
OdbcCommand cmd = new OdbcCommand(sql, dbKontrolConn);
OdbcDataReader dbReader = cmd.ExecuteReader();
while (dbReader.Read())
{
uz_jmeno = dbReader["uzivatelske_jmeno"].ToString();
jmeno = dbReader["jmeno"].ToString();
prijmeni = dbReader["prijmeni"].ToString();
}
字符串 jmeno 应该是 "Jiří" ,但它是 "Ji?í" 。谁能帮帮我?
MySQL 数据库以 utf8_unicode_ci 编码。
【问题讨论】:
-
谢谢,但是当我做 charset=utf8;它显示为“JiřÔ -> 更糟。
-
你的完整连接字符串是什么?
-
这段代码很可能容易受到sql注入攻击。
标签: c# mysql character-encoding odbc