2009-09-24

中文存入 MS SQL 2005 亂碼解決方案

有一個Winform介面,存入DB時會造成亂碼
使用SQL Server Profiler查看DB動作,程式介面使用
Dim jParameter_plh_cus_ID As New OleDb.OleDbParameter("@plh_cus_ID", OleDb.OleDbType.VarChar, 20)
jParameter_plh_cus_ID.Value = ucb_Customer.SelectedRow.Cells("cus_ID").Value
jOleDbCommand.Parameters.Add(jParameter_plh_cus_ID)

Table的欄位使用Varchar(500)

預存程序使用也是Varchar(500)

症狀很明顯了吧!

把以上三個地方都改成Unicode存進去就行

解決辦法:

1.在程式內使用OleDb.OleDbType.VarWChar
2.
Table的欄位使用nvarchar(500)
3.預存程序使用也是nvarchar(500)

0 comments: