>데이터 베이스 >MySQL 튜토리얼 >mssqlserver导入到数据库中插入文字乱码问题解决方法

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

WBOY
WBOY원래의
2016-06-07 17:48:051456검색

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的数据保护,什么加密字段,靠想想微软也不会这么也不会这么bt,还有的说是数据库字符集的问题,我试了试得出结论:都是扯淡!

改数据库编码不成,最后突然想到改改被导入文本文档的编码最后把文本文档由ANSI转化为Unicode,最后导入;靠成功了

蛋疼啊、淡定!

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.