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

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,最后导入;靠成功了

蛋疼啊、淡定!

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

时间: 2024-10-31 07:30:20

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

asp中网access数据库中插入数据乱码

问题描述 asp中网access数据库中插入数据乱码 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> meta http-eq

jsp 中 ActionForm中文乱码问题解决方法

  jsp教程 中 actionform中文乱码问题解决方法 先我们来了解一下actionform actionform概念 actionform用于封装用户的请求参数,而请求参数是通过jsp页面的表单域传递过来的.因此应 保证actionform的参数,与表单域的名字相同. 编辑本段actionform配置 所有的actionform都被配置在struts-config.xm l文件中,该文件包括了一个form-beans的元素, 该元素内定义了所有actionform,每个actionfor

跨浏览器PHP下载文件名中的中文乱码问题解决方法

 这篇文章主要介绍了跨浏览器PHP下载文件名中的中文乱码问题解决方法,涉及php针对中文编码的转码技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了跨浏览器PHP下载文件名中的中文乱码问题解决方法.分享给大家供大家参考.具体如下:   代码如下: <?php $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "中文 文件名.txt"; $encoded_filename = urlencode(

跨浏览器PHP下载文件名中的中文乱码问题解决方法_php技巧

本文实例讲述了跨浏览器PHP下载文件名中的中文乱码问题解决方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "中文 文件名.txt"; $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20",

Word2013文档中插入文字水印的方法

  第1步,打开Word2013文档窗口,切换到"页面布局"功能区.在"页面背景"分组中单击"水印"按钮,并在打开的水印面板中选择"自定义水印"命令,如图1所示. 图1 选择"自定义水印"命令 第2步,在打开的"水印"对话框中,选中"水印文字"单选框.单击"文字"下拉菜单,用户可以从列表中选择Word2013提供的文字建议作为文字水印,如图2所示.

java-当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?

问题描述 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码? 怎么才能解决问题,跟jdbc driver Manager的设置有关系吗? 解决方案 数据库字符集 与 页面编码 都使得 是 uft-8?得统一 解决方案二: 建议编码格式采用UTF-8的格式 解决方案三: 在使用数据的每一个节点上,其编码方式必须要一致否则就会出现乱码.特别是使用MySQL时,客户端,连接器.数据库

jsp-JSP向数据库中插入数据时显示全都是问号,怎么能解决一下啊?

问题描述 JSP向数据库中插入数据时显示全都是问号,怎么能解决一下啊? 插入中文就显示问号,数据库里是空白,这是为什么啊,怎么解决呢 解决方案 jdbc:mysql://127.0.0.1:3306/yourdb?useUnicode=true&characterEncoding=UTF8″ 类似这个,修改下编码字符. 解决方案二: 如果用的是mysql就在网上查一下如何修改数据库编码就可以了: 如果回答对您有帮助,请采纳 解决方案三: 这是编码格式问题,转换一下文字编码就行了.比如: 已有字符

c#向Mysql中插入数据乱码?

问题描述 c#向Mysql中插入数据乱码.大家看一下代码.MySQLConnectionconn=null;conn=newMySQLConnection(newMySQLConnectionString("localhost","emarket","root","root").AsString);conn.Open();MySQLCommandcommn2=newMySQLCommand("setnamesgb23

C#编程向VFP数据库中插入Numeric型的值(foxpro,dbf)

        C#编程向VFP数据库中插入Numeric型的值 最近做一个C#程序,实现将SQLServer中的数据导入到Visual Foxpro6.0的.dbf数据文件中.更新Numeric类型字段的值时出现错误: System.Data.Odbc.OdbcException:ERROR [22018] [Microsoft][ODBC Visual FoxPro Driver]Data type mismatch. 原程序类似如下://--------------------------