1

私はado.netとMySQL dbを使用しています。キリル文字の値を db に挿入すると、'?' として挿入されます。シンボル。データベースでさまざまなエンコーディングを試しましたが、役に立ちませんでした。utf-8、utf-16、cp-1251 などを試しました。したがって、このコードを実行すると

        MySql.Data.MySqlClient.MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection("server=localhost;User Id=root;database=voteme");
        MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand("INSERT INTO districts(DistrictName) VALUES('іавп')",con);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();

私は受け取ります '????' 私のデータベースに保存されています。この問題を解決するにはどうすればよいですか? ありがとう。

編集: データベースで varchar と text フィールド タイプの両方を使用しようとしましたが、結果は同じでした。

4

2 に答える 2

3
  1. データベースの照合には必ず UTF8 を使用してください。

  2. 接続を開いた直後にこれを試してください:

    con.ConnectionString = "database=DATABASE;server=localhost;user id=USERNAME;pwd=PASSWORD;CharSet=utf8"; 接続を作成した後。

于 2012-08-08T18:12:00.553 に答える
0

この投稿に従って、これを行う必要があるかもしれません:

ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;
于 2012-08-08T18:18:01.247 に答える