以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 有关Substring取字符时存在问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2883) |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 9:27:00 -- 有关Substring取字符时存在问题 有关Substring取字符时是正常的,取汉字时会提示错误或取得数据为乱码?请老大关注下! |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 9:37:00 -- 使用Substring取文本数据时,同样的代码,同样的文本文件(此文件数据中含有汉字),一台会提示错误,一台取得乱码?如果文本文件中无汉字都正常取得数据,结果一样。 |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 9:39:00 -- 郁闷呀,昨天弄了一天,才没有解决。头痛呀! |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 9:50:00 -- 哦,应不是Substring的问题,是这个代码中取汉字产生的问题。 Dim s As string = FileSys.ReadAllText("d:\\ChkOutU1.txt") Dim Multi As String = s Dim Values() as String Dim s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13 as string Values = Multi.split(Chr(10)) For Index As Integer = 0 To Values.Length - 2 s1 = Values(Index) 发现ChkOutU1.txt中有汉字的话,s1的值,汉字部分取得乱码。字符正常。所以造成SubString取值结果出错了。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/22 9:50:00 -- 用记事本打开你的文本文件,令存,编码类型选择Unicode,不能选择Ansi 此主题相关图片如下:asd.gif |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 10:09:00 -- 机器A取得结果为如图所示 此主题相关图片如下:11.gif 机器B取得结果为如图所示 此主题相关图片如下:22.gif Dim s As string = FileSys.ReadAllText("d:\\ChkOutU1.txt") Dim Multi As String = s Dim Values() as String Dim s1 as string Values = Multi.split(Chr(10)) s1 = Values(3) \'取第三行数据,其中有汉字,如取第一行,正常。 e.form.controls(“textbox1”).value = s1 |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 10:10:00 --
文本文件都是这个。 |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 10:11:00 -- 请老大!帮看看乍回事呀?弄不明白。为谢了! |
||||
-- 作者:baoxyang -- 发布时间:2009/5/22 10:22:00 -- 文本文件是由系统导出或条形码产生的文本文件呀。不会还在操作员进行改变类型吧。不太现实的。不知是否是老大说的这个问题。我测下。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/22 10:25:00 -- 1、你的文本文件还是ANSI编码,并没有按照我的要求改过来。 2、如不想改文本文件的编码,就改自己的代码,用: Dim s As string = FileSys.ReadAllText("d:\\ChkOutU1.txt",System.Text.Encoding.Default) |