VB读取文件时乱码(编码转换问题)(正确答案追加100分)
我用VB6做了一个修改JAVA文件的工具,在读取到JAVA文件中的日文行时出现乱码问题这个JAVA文件是ECLIPSE工程中的JSP文件经过servlet编译后生成的EC...
我用VB6做了一个修改JAVA文件的工具,在读取到JAVA文件中的日文行时出现乱码问题
这个JAVA文件是ECLIPSE工程中的JSP文件经过servlet编译后生成的
ECLIPSE工程的 encoding设置为MS932
JSP文件的charset设置为Windows-31J
请问有什么方法能够在vb中正确读入日文部分
说明一下,eclipse和jsp中的设置是不能修改的
用OPEN PATH FOR INPUT 打开文件,按照字符串逐行读取判断,具体代码如下
Open path For Input As #OLD_FILE_NUM
Do While Not EOF(OLD_FILE_NUM)
Line Input #OLD_FILE_NUM, w_strTemp '在这逐行读取文件,当读到日文字符时出现乱码
Dim abc As String
abc = StrConv(w_strTemp, 64, LCID)
If Trim(w_strTemp) <> "out.write(""\r\n"");" Then
Print #NEW_FILE_NUM, w_strTemp
End If
Loop
我的操作系统是日文版XP
StrConv之前试过,转不了
Line Input的写入对象根本不允许写成strLabel.Caption
还有我的vb也是日文版的,出现乱码的原因和VB与系统版本关系不大
应该是我读取的源文件的问题,源文件是在eclipse中编译生成的java文件,保存的码制是MS932 展开
这个JAVA文件是ECLIPSE工程中的JSP文件经过servlet编译后生成的
ECLIPSE工程的 encoding设置为MS932
JSP文件的charset设置为Windows-31J
请问有什么方法能够在vb中正确读入日文部分
说明一下,eclipse和jsp中的设置是不能修改的
用OPEN PATH FOR INPUT 打开文件,按照字符串逐行读取判断,具体代码如下
Open path For Input As #OLD_FILE_NUM
Do While Not EOF(OLD_FILE_NUM)
Line Input #OLD_FILE_NUM, w_strTemp '在这逐行读取文件,当读到日文字符时出现乱码
Dim abc As String
abc = StrConv(w_strTemp, 64, LCID)
If Trim(w_strTemp) <> "out.write(""\r\n"");" Then
Print #NEW_FILE_NUM, w_strTemp
End If
Loop
我的操作系统是日文版XP
StrConv之前试过,转不了
Line Input的写入对象根本不允许写成strLabel.Caption
还有我的vb也是日文版的,出现乱码的原因和VB与系统版本关系不大
应该是我读取的源文件的问题,源文件是在eclipse中编译生成的java文件,保存的码制是MS932 展开
1个回答
展开全部
首先,不清楚你是用什么方式读文件的,二进制?还是字符串?还是???!
给个提示你吧!
A 用 StrConv 函数转换编码
B 用 Forms 2.0 控件集中的 Label 或 TextBox 控件显示读取的数据
这是小儿科,自已动手丰衣足食!试试吧!
--------------------------------------------------
你的操作系统是日文版的XP,应该不会出乱码啊,你的VB是英文版么?
其实VB系统内部是使用 Unicode 会自动转换编码的,详细请参考MSDN介绍相关的用DBCS编码转换的程序例子吧!!!
现在先用简单的方法试试吧!
先引用 Microsoft Forms 2.0 Object library
Dim strLabel As MSForms.Label
Line Input #OLD_FILE_NUM, strLabel.Caption
.......
给个提示你吧!
A 用 StrConv 函数转换编码
B 用 Forms 2.0 控件集中的 Label 或 TextBox 控件显示读取的数据
这是小儿科,自已动手丰衣足食!试试吧!
--------------------------------------------------
你的操作系统是日文版的XP,应该不会出乱码啊,你的VB是英文版么?
其实VB系统内部是使用 Unicode 会自动转换编码的,详细请参考MSDN介绍相关的用DBCS编码转换的程序例子吧!!!
现在先用简单的方法试试吧!
先引用 Microsoft Forms 2.0 Object library
Dim strLabel As MSForms.Label
Line Input #OLD_FILE_NUM, strLabel.Caption
.......
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询