欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mssqlserver导入到数据库中插入文字乱码问题解决方法

程序员文章站 2022-05-17 11:12:09
...
mssqlserver导入到中插入文字乱码问题解决方法,先看一下我的导入代码,应该是没有任何问题了。

private void btninsert_Click(object sender, EventArgs e)
{
if (odimport.ShowDialog() == DialogResult.OK)//准备接收文件;
{
using (FileStream filestream = File.OpenRead(odimport.FileName))
{
using (StreamReader streamreader = new StreamReader(filestream))
{
//创建连接字符串及建立通道;
string connstr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into Phonenumber(Phone,LocalID,LocalAddress,Phonestyle) values(@Phone,@LocalID,@LocalAddress,@Phonestyle)";
string line = null;
while ((line = streamreader.ReadLine()) != null)
{
//转化每一行数据为数组并用split分割字符串,获取个字段信息;
string[] strs = line.Split(' ');
string Phone = strs[0];
int LocalID = Convert.ToInt32(strs[1]);
string LocalAddress = strs[2];
string Phonestyle = strs[3];

cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("Phone", Phone));
cmd.Parameters.Add(new SqlParameter("LocalID", LocalID));
cmd.Parameters.Add(new SqlParameter("LocalAddress", LocalAddress));
cmd.Parameters.Add(new SqlParameter("Phonestyle", Phonestyle));
cmd.ExecuteNonQuery();
}
}

}
}
}
MessageBox.Show("导入成功");
}

调试正常,可是当我打开数据表查看导入的数据时,靠,令人蛋疼的情况发生了:如下图归属地和卡品信息全变成不明字符

mssqlserver导入到数据库中插入文字乱码问题解决方法

开始还以为是字段属性设置错误,检查一下字段属性弄错了,可是一检查没什么大问题:

mssqlserver导入到数据库中插入文字乱码问题解决方法

然后上网搜了一大堆关于数据库中插入文字乱码问题的相关资料;不看还好,越看越晕,竟然还有位老兄说这是mssqlserver的数据保护,什么加密字段,靠想想微软也不会这么也不会这么bt,还有的说是数据库字符集的问题,我试了试得出结论:都是扯淡!

改数据库编码不成,最后突然想到改改被导入文本文档的编码最后把文本文档由ANSI转化为Unicode,最后导入;靠成功了mssqlserver导入到数据库中插入文字乱码问题解决方法

蛋疼啊、淡定!

经过一下午的折腾得出了一条结论:编程真是一件很让人蛋疼的事!忍住疼痛,你就变得淡定了!