使用 VB.net 在 MySQL 数据库中存储马拉地语(印度语言)数据
Storing Marathi (Indian Language) data in MySQL database using VB.net
我正在为我的项目使用 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
这是 table :
第一行是通过 PHPMyAdmin 手动插入的
第二个是使用上面的代码。
utf8需要在4处左右建立
- 数据库中的列 -- 使用
SHOW CREATE TABLE
验证它们是否已明确设置为 utf8,或者默认为 table 定义。 (改数据库default还不够。)
- 客户端和服务器之间的连接。参见
SET NAMES utf8
。
- 您拥有的字节数。 (大概是这样的。)
- 如果要在网页中显示文本,请检查
<meta>
标记。
如果之后您仍然遇到问题,请返回 SELECT col, HEX(col) ...
以查找一些印刷错误的文本;这将有助于进一步诊断。
我正在为我的项目使用 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
这是 table :
第二个是使用上面的代码。
utf8需要在4处左右建立
- 数据库中的列 -- 使用
SHOW CREATE TABLE
验证它们是否已明确设置为 utf8,或者默认为 table 定义。 (改数据库default还不够。) - 客户端和服务器之间的连接。参见
SET NAMES utf8
。 - 您拥有的字节数。 (大概是这样的。)
- 如果要在网页中显示文本,请检查
<meta>
标记。
如果之后您仍然遇到问题,请返回 SELECT col, HEX(col) ...
以查找一些印刷错误的文本;这将有助于进一步诊断。