2

asp.net ページから mysql5.5 にアラビア語のコンテンツを挿入したいのですが、mysqlconnector5.2.7 を使用してローカルの mysqlserver に接続しています。asp.net プログラムからアラビア語を挿入しようとすると、null 値がデータベースに挿入されます。コマンド プロンプトから挿入しようとすると、すべての単語が ??? のように表示されます。Google でさらに検索しましたが、解決策が見つかりませんでした。以下のコードを参照してください。コマンドプロンプトでalterクエリを使用してutf8に変更しましたが、まだ解決策が見つかりません。このアラビア語をデータグリッドビューに表示する方法

myconnection.Open();
string insert="insert into home_table(image,content,arabiccontent) values(@image,@content,arabiccontent)";
MySqlCommand cmd = new MySqlCommand(insert,myconnection);
MySqlParameter param = new MySqlParameter("@image", MySqlDbType.VarBinary, image.Length);
param.Value = image;
cmd.Parameters.Add(param);

cmd.Parameters.Add(new MySqlParameter("@content",MySqlDbType.VarChar,Content.Length));

cmd.Parameters["@content"].Value = Content;
cmd.Parameters.Add(new MySqlParameter("@arabiccontent", MySqlDbType.VarChar, contentarabic.Length));
cmd.Parameters["@arabiccontent"].Value = contentarabic.Trim();
cmd.ExecuteNonQuery();
myconnection.Close();

web.config

 <add name="mysqlconnectionstring" connectionString="Data Source=localhost;Database=mydatabase_;Uid=root;Pwd=root;CharSet=cp1256;"/>
4

6 に答える 6

5

この接続文字列を使用します

Datasource=localhost; Database=testdb; Uid=root; Pwd=123;CHARSET=utf8

そして、それCHARSETが CharSet または charset ではないことを確認してください! DEFAULT CHARACTER SETまた、テーブルとフィールドを変更してみてください。

ALTER TABLE `myTbl` DEFAULT CHARACTER SET utf8
于 2012-11-18T16:58:38.940 に答える
3

私は同じ問題に直面しました。

webconfigにCHARSET=utf8を追加するだけで、問題を解決できます

<connectionStrings>
    <add name="ConnectionString" connectionString="Server=192.168.1.4;Database=downtodate;Uid=root;CHARSET=utf8"/>
  </connectionStrings>
于 2013-03-14T12:49:16.023 に答える
0

問題は、はい、データベースの文字セットは utf8 ですが、アプリケーションはそれを認識していません。あなたの文字セットはcp1256だと思います。

 <add name="mysqlconnectionstring" connectionString="Data Source=localhost;Database=mydatabase_;Uid=root;Pwd=root;CharSet=cp1256;"/>

あなたはそれを宣言する必要があります。いくつかの解決策がありますが、最も簡単な解決策は、接続文字列 charset=utf8; を追加することです。

それを使って問題を解決する

 <add name="mysqlconnectionstring" connectionString="Data Source=localhost;Database=mydatabase_;Uid=root;Pwd=root;CHARSET=utf8;"/>
于 2015-03-14T19:57:11.443 に答える