VBA 中,如何比较法语的字符串?

debiaomanchui 2017-12-19 01:49:50
一个是从log提取的法语字符串,一个是Excel设置好的法语字符串,相互比较, 长度是一样的,比较去不等于。这是什么情况。。。。
...全文
509 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-12-24
  • 打赏
  • 举报
回复
赵4老师 2017-12-22
  • 打赏
  • 举报
回复
百度搜相关关键字。
debiaomanchui 2017-12-20
  • 打赏
  • 举报
回复
引用 6 楼 Chen8013 的回复:
你既然用的Input 模式打开文件来读取Log文件,那就是按“ANSI转Unicode”处理的吧! (VB从文件读“字符串”默认的编码转换规则) 但“法语”的那些字符,基本不属于“ANSI字符编码”的范围的,  Log文件的“文本文件”应该用的是UTF-8编码(可能性最大),或UTF16编码。  因此你从文件中用Input语句、Line Input语句等读出来的“字符串”,基本上都是错的, 用“错误”的字符串,跟Excel文档中的是“正确字符串”比较,能够相等吗…………
你说的对,读取的问题解决了,用Adodb.Stream 读取,但是却不知道怎么逐行读取,循环逐行读取,以为是第一次做VBA 所以太多不了解。。谢谢
舉杯邀明月 2017-12-19
  • 打赏
  • 举报
回复
你既然用的Input 模式打开文件来读取Log文件,那就是按“ANSI转Unicode”处理的吧! (VB从文件读“字符串”默认的编码转换规则) 但“法语”的那些字符,基本不属于“ANSI字符编码”的范围的,  Log文件的“文本文件”应该用的是UTF-8编码(可能性最大),或UTF16编码。  因此你从文件中用Input语句、Line Input语句等读出来的“字符串”,基本上都是错的, 用“错误”的字符串,跟Excel文档中的是“正确字符串”比较,能够相等吗…………
debiaomanchui 2017-12-19
  • 打赏
  • 举报
回复
引用 4 楼 Chen8013 的回复:
[quote=引用 2 楼 debiaomanchui 的回复:] 怎么设置编码格式呢?
你是怎么“读取”数据的? 你认为“长度一样”的依据是什么?  (你别说:从记事本打开log、用Excel打开.xlsx文档,“看到”是一样的) 如果方法不正确,就极有可能是“程序中”会得到不同的数据。 假设你用“记事本”打开Log文件,看到的“法文”是正常的; 但你在VBA中没用正确方法读取数据,你就会得到“不正确”的法文…… [/quote] 是用代码 if len(str) = len(strlog) 这样判断出来 的 ,应该是字符集不对,主要是法语的头上带点, 读取文件这样 Open szScanFileName For Input Access Read As #1
舉杯邀明月 2017-12-19
  • 打赏
  • 举报
回复
引用 2 楼 debiaomanchui 的回复:
怎么设置编码格式呢?
你是怎么“读取”数据的? 你认为“长度一样”的依据是什么?  (你别说:从记事本打开log、用Excel打开.xlsx文档,“看到”是一样的) 如果方法不正确,就极有可能是“程序中”会得到不同的数据。 假设你用“记事本”打开Log文件,看到的“法文”是正常的; 但你在VBA中没用正确方法读取数据,你就会得到“不正确”的法文……
debiaomanchui 2017-12-19
  • 打赏
  • 举报
回复
引用 1 楼 of123 的回复:
要使用同样的编码格式。
我应该在哪设置编码格式呢?VBA默认的是什么格式呢?
debiaomanchui 2017-12-19
  • 打赏
  • 举报
回复
怎么设置编码格式呢?
of123 2017-12-19
  • 打赏
  • 举报
回复
要使用同样的编码格式。

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧