【发布时间】:2015-06-30 01:23:19
【问题描述】:
我的项目使用 VB.net 和 MySQL
我想将马拉地语文本存储在 MySQL 数据库中,我搜索了几个小时并通过将 MySQL 数据库编码更改为 utf-8 找到了一半的解决方案。我可以手动(通过 PHPMyAdmin)在 Mysql 数据库中存储马拉地语字符。
但是,当我尝试使用 VB.net 插入一些文本时,我得到“???”(问号)而不是马拉地语字符。
我还需要在 VB.Net 中设置编码吗? 如果是那怎么办?
这是在数据库中插入数据的代码
Private Sub btnSave_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSave.Click
Try
Dim sql As String
sql = "Insert into info(taluka,village,yojana,group_name," + _
"reg_no,president_name,mobile,crop," + _
"evaluation,amount,characteristic) values('" & _
cmbTaluka.SelectedItem.ToString & "','" & _
cmbVillage.SelectedItem.ToString & "','" & _
cmbYojana.SelectedItem.ToString & "','" & _
txtGroup.Text & "','" & txtReg.Text & "','" & _
txtPresident.Text & "','" & txtMobile.Text& "','" & _
cmbCrop.SelectedItem.ToString & "','" & _
cmbYear.SelectedItem.ToString + _
cmbType.SelectedItem.ToString & "','" & _
Val(txtAmount.Text) & "','" & txtChar.Text & "')"
cmd = New MySqlCommand(sql, con)
reader = cmd.ExecuteReader
MessageBox.Show("Data Saved")
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
End Sub
这是表格: 第一行是通过 PHPMyAdmin 手动插入的
第二个是使用上面的代码。
【问题讨论】:
-
您能否展示您用于填充查询的代码以及它是如何针对数据库执行的?
-
刚刚在问题中添加了将数据插入数据库的代码
-
那么例如
txtGroup是一个普通的TextBox控件吗?另请注意,此代码可用于SQL Injection。 -
This question 可能是相关的,如果不是重复的话 - 尝试将“charset=utf8”添加到您的连接字符串中。
-
@JamesThorpe,谢谢你的朋友.. 添加“charset=utf8”解决了这个问题.. 非常感谢.. 我会修复代码以防止 sql 注入.. :)
标签: mysql vb.net character-encoding