在C 和MySQL中訪問中文字元時避免亂碼的方法

2022-10-06 01:33:12 字數 811 閱讀 1229

當用到socket來進行網路程式開發時,大多數情況下會遇到中文字元的傳送與接收,這時若對傳送的字串用預設的方式進行處理,則一般會得到一堆亂碼。

由於中文字元採用雙位元組表示,所以對含有中文的字串的處理一定要按unicod程式設計客棧e編碼方式進行處理,也就是說,使用socket傳送中文字串時要事先將字串轉成unicode格式的。

下面是簡單的socket通訊的**。

//服務端**

trycatch (exception e

//客戶端**

trycatch(exception ex)

此外,資料庫中中文的訪問也是一件令人頭疼的事,其實要解決這個問題很簡單,下面是一段sql server的**:

try,n'',n'',n'',n'')」,agentid, data[1], data[2], data[3], data[0]);

mycommand = new sqlcommand(mysql, myconnect);

mycommand.connection.open();

mycommand.executenonquery();

mycommand.connection.close();

}catch (system.exception e)

可以看到,sql指令碼命令中,所有的字串引數前多了乙個字元「n」,這個字元即宣告用unicode方式編碼,當然,要注意的就是,若字段的值可能含有中文時,必須將該字段型別宣告為nchar、nvarchar、ntext,這裡的n表示的意思是一樣的。

本文標題: 在c#和mysql中訪問中文字元時避免亂碼的方法

本文位址:

MySQLdb訪問mysql的中文字元問題解決之道

經測試,我們的開發環境解決中文字元問題的解決辦法是同一到utf 8編碼 一 py原始檔採用utf8編碼,在檔案開始新增 coding utf 8 二 在使用mysqldb建立和mysql資料庫的連線並建立cursor物件時採用如下函式def getconnection self try host s...

MySQLdb訪問mysql的中文字元問題解決之道

經測試,我們的開發環境解決中文字元問題的解決辦法是同一到utf 8編碼 一 py原始檔採用utf8編碼,在檔案開始新增 coding utf 8 二 在使用mysqldb建立和mysql資料庫的連線並建立cursor物件時採用如下函式def getconnection self try host s...

MySQL不能插入中文字元及中文字元亂碼問題

mysql的預設編碼是latin1,不支援中文,要支援中午需要把資料庫的預設編碼修改為gbk或者utf8。在安裝後mysql之後,它的配置檔案不是很給力,不知道你們的是不是,反正我的是!開始插入中文字元的時候出現如下錯誤 error 1366 hy000 incorrect string value...