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,最后导入;靠成功了
蛋疼啊、淡定!
经过一下午的折腾得出了一条结论:编程真是一件很让人蛋疼的事!忍住疼痛,你就变得淡定了!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号