找了N天原因,才发现原来是有个人名字叫“杜甫”(变态,干吗起这个名字)
把这个名字改成其他的,就正常……
(什么utf-7 utf-8统统试过了,都是乱码)
兄弟们导出数据时碰到过带“甫”的字没?怎么搞定的?
36 个解决方案
#1
是这个原因吗?甫 有不是什么生僻字
我没遇到过
帮顶
我没遇到过
帮顶
#2
这也搞笑了吧
#3
啥事都有啊
#4
高人啊,这个问题都让你碰到了。
gb2312 试过没?
gb2312 试过没?
#5
还有这事情?我测试一下
#6
这个比较搞笑,属于特例加以推广
#7
刚刚经过 我测试了 导出到 Excel 后能显示 杜甫..一点错误都没有啊
3 杜甫 男 江海通 4.201E+17 1956-4-30 0:00
4 杜甫 男 航道局 4.30425E+17 1974-4-18 0:00
5 杜甫 男 个体 5.10232E+17 1970-3-21 0:00
6 廖中建 男 重庆长航 5.10212E+17 1963-9-23 0:00
7 黄绪刚 男 长航交科 3.20108E+14 1974-10-11 0:00
===========微软怎么会 犯这么低级的错误..
#8
呵呵
#9
我测试也米问题 测试代码如下
try
{
string strCmd = string.Empty;
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';" + "Data Source= " + @"C:\Documents and Settings\Administrator\桌面\test.xls");
cmd = new OleDbCommand();
cmd.Connection = conn;
conn.Open();
strCmd = "create Table [Sheet1](";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "[" + dc.ColumnName + "] nvarchar(20),";
}
strCmd = strCmd.Trim().Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr.RowState != System.Data.DataRowState.Deleted)
{
strCmd = "insert into [Sheet1] values(";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "'" + dr[dc.ColumnName].ToString() + "',";
}
strCmd = strCmd.Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
}
}
conn.Close();
}
catch (Exception ex)
{
throw ex;
}
}
try
{
string strCmd = string.Empty;
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';" + "Data Source= " + @"C:\Documents and Settings\Administrator\桌面\test.xls");
cmd = new OleDbCommand();
cmd.Connection = conn;
conn.Open();
strCmd = "create Table [Sheet1](";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "[" + dc.ColumnName + "] nvarchar(20),";
}
strCmd = strCmd.Trim().Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr.RowState != System.Data.DataRowState.Deleted)
{
strCmd = "insert into [Sheet1] values(";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "'" + dr[dc.ColumnName].ToString() + "',";
}
strCmd = strCmd.Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
}
}
conn.Close();
}
catch (Exception ex)
{
throw ex;
}
}
#10
晕,难道楼主是来踢场子的?
#11
我晕,楼主,你是不是跟微软过不去啊
#12
杜甫——没有问题啊。。。。。。。。奇怪了~~
#13
楼住肯定就叫杜甫
#14
我没有问题啊~
#15
楼主乃杜甫后人,借机吵作而已!
#16
同意民工兄,呵呵
#17
立案调查楼主
#18
微软的记事本才有个bug呢
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
#19
不骗人,真的
两万多条记录,我一点一点排查的
到最后发现:把甫字改成其他字,就没有任何问题,再改回去,立刻乱码
两万多条记录,我一点一点排查的
到最后发现:把甫字改成其他字,就没有任何问题,再改回去,立刻乱码
#20
对了,不是乱码,是韩文
#21
楼上说的是真的
#22
杨杨说的是真的
#23
Go_Rush(我的技术博客http://ashun.cnblogs.com/) ( ) 信誉:98 2007-07-19 09:21:18 得分: 0
微软的记事本才有个bug呢
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
--------------------------------------------------
怎么回事???
微软的记事本才有个bug呢
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
--------------------------------------------------
怎么回事???
#24
楼上的输入:联通 试一试.
#25
畦正礠畯猠硩琠浩獥
#26
记事本输入以下字符,并保存,关闭,然后再用记事本打开
four one two three
four one two three
#27
four one two three
真的 怎么会这样啊 ? 谁能解释 一下 啊 ?
真的 怎么会这样啊 ? 谁能解释 一下 啊 ?
#28
潦牵漠敮琠潷琠牨敥
#29
太搞笑了
#30
这也行。。。用其他编辑器打开是好的。。。
#31
安逸,
#32
畦正礠畯猠硩琠浩獥
#33
那微软认识李白不?
#34
搞笑
#35
好玩,
#36
微软不认识我
#1
是这个原因吗?甫 有不是什么生僻字
我没遇到过
帮顶
我没遇到过
帮顶
#2
这也搞笑了吧
#3
啥事都有啊
#4
高人啊,这个问题都让你碰到了。
gb2312 试过没?
gb2312 试过没?
#5
还有这事情?我测试一下
#6
这个比较搞笑,属于特例加以推广
#7
刚刚经过 我测试了 导出到 Excel 后能显示 杜甫..一点错误都没有啊
3 杜甫 男 江海通 4.201E+17 1956-4-30 0:00
4 杜甫 男 航道局 4.30425E+17 1974-4-18 0:00
5 杜甫 男 个体 5.10232E+17 1970-3-21 0:00
6 廖中建 男 重庆长航 5.10212E+17 1963-9-23 0:00
7 黄绪刚 男 长航交科 3.20108E+14 1974-10-11 0:00
===========微软怎么会 犯这么低级的错误..
#8
呵呵
#9
我测试也米问题 测试代码如下
try
{
string strCmd = string.Empty;
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';" + "Data Source= " + @"C:\Documents and Settings\Administrator\桌面\test.xls");
cmd = new OleDbCommand();
cmd.Connection = conn;
conn.Open();
strCmd = "create Table [Sheet1](";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "[" + dc.ColumnName + "] nvarchar(20),";
}
strCmd = strCmd.Trim().Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr.RowState != System.Data.DataRowState.Deleted)
{
strCmd = "insert into [Sheet1] values(";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "'" + dr[dc.ColumnName].ToString() + "',";
}
strCmd = strCmd.Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
}
}
conn.Close();
}
catch (Exception ex)
{
throw ex;
}
}
try
{
string strCmd = string.Empty;
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';" + "Data Source= " + @"C:\Documents and Settings\Administrator\桌面\test.xls");
cmd = new OleDbCommand();
cmd.Connection = conn;
conn.Open();
strCmd = "create Table [Sheet1](";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "[" + dc.ColumnName + "] nvarchar(20),";
}
strCmd = strCmd.Trim().Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr.RowState != System.Data.DataRowState.Deleted)
{
strCmd = "insert into [Sheet1] values(";
foreach (DataColumn dc in ds.Tables[0].Columns)
{
strCmd += "'" + dr[dc.ColumnName].ToString() + "',";
}
strCmd = strCmd.Substring(0, strCmd.Length - 1);
strCmd += ")";
cmd.CommandText = strCmd;
cmd.ExecuteNonQuery();
}
}
conn.Close();
}
catch (Exception ex)
{
throw ex;
}
}
#10
晕,难道楼主是来踢场子的?
#11
我晕,楼主,你是不是跟微软过不去啊
#12
杜甫——没有问题啊。。。。。。。。奇怪了~~
#13
楼住肯定就叫杜甫
#14
我没有问题啊~
#15
楼主乃杜甫后人,借机吵作而已!
#16
同意民工兄,呵呵
#17
立案调查楼主
#18
微软的记事本才有个bug呢
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
#19
不骗人,真的
两万多条记录,我一点一点排查的
到最后发现:把甫字改成其他字,就没有任何问题,再改回去,立刻乱码
两万多条记录,我一点一点排查的
到最后发现:把甫字改成其他字,就没有任何问题,再改回去,立刻乱码
#20
对了,不是乱码,是韩文
#21
楼上说的是真的
#22
杨杨说的是真的
#23
Go_Rush(我的技术博客http://ashun.cnblogs.com/) ( ) 信誉:98 2007-07-19 09:21:18 得分: 0
微软的记事本才有个bug呢
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
--------------------------------------------------
怎么回事???
微软的记事本才有个bug呢
新建一个文本文件,用记事本打开。
输入一下字符
fuck you six times
保存,关闭记事本,然后再用记事本打开,你会看到....
--------------------------------------------------
怎么回事???
#24
楼上的输入:联通 试一试.
#25
畦正礠畯猠硩琠浩獥
#26
记事本输入以下字符,并保存,关闭,然后再用记事本打开
four one two three
four one two three
#27
four one two three
真的 怎么会这样啊 ? 谁能解释 一下 啊 ?
真的 怎么会这样啊 ? 谁能解释 一下 啊 ?
#28
潦牵漠敮琠潷琠牨敥
#29
太搞笑了
#30
这也行。。。用其他编辑器打开是好的。。。
#31
安逸,
#32
畦正礠畯猠硩琠浩獥
#33
那微软认识李白不?
#34
搞笑
#35
好玩,
#36
微软不认识我