最近遇到一個情況,SQLServer版本是2012,排序規則是Chinese_PRC_BIN,其中我有一個欄位型別是nvarchar(MAX),程式生成了一段中文內容:“我是中國人”,然后存入這個欄位,但是存進去的時候發現內容變了,變成了:“鎴戞槸涓浗浜?”,這一看,應該就是把中文按照GBK的編碼格式轉換了。但是我記憶體里面的這段話是UTF-8編碼的。
我查到一個網站(https://www.cnblogs.com/hayden/archive/2010/12/16/1908261.html)大概意思是說nvarchar存盤的是Unicode數字型別的字符,是2個位元組表示。而GBK編碼也是2個位元組,所以我大膽的猜測是不是因為這個原因直接把“我是中國人”按照GBK的方式轉成了“鎴戞槸涓浗浜?”。那如果我想讓它存的就是UTF8編碼的“我是中國人”,我又該怎么操作?
uj5u.com熱心網友回復:
sql server 不支持 utf8,所以如果你存盤的是 utf8,那么一定會轉換成 unicode,至于轉換在什么時候進行,這取決于你具體的存盤操作轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/110431.html
標籤:疑難問題
上一篇:該怎么解決?
