我要做的是将一段unicode 字符写到配置文件中,用的是
Private Declare Function WritePrivateProfileStringW Lib "Kernel32" (ByVal
app As Long, ByVal key As Long, ByVal str As Long, ByVal fil As Long) As Long
这个函数,
写的程序如下:
Private Sub Command1_Click()
Dim app As String
Dim key As String
Dim str As String
Dim fil As String
Dim ret As Long
fil = "C:\WuTemp\Test.ini" + vbNullChar
app = "MySection" + vbNullChar
key = "MyValue" + vbNullChar
str = "MyData" + vbNullChar
ret = WritePrivateProfileStringW(StrPtr(app), StrPtr(key), StrPtr(str),
StrPtr(fil))
End Sub
这样是正常的,但是把其中的字符串换成"شلاؤي"时,写进去之后就变成了“????”,按道理WritePrivateProfileStringW函数就是写unicode文件的,为什么写进去就是“???”呢?
我找了一篇文章 http://www.codeproject.com/KB/files/unicode_ini.aspx,上面说要在写unicode 文件之前先写文件头信息,需要这样吗?
还望高手赐教写unicode 配置文件的具体方法,多谢了。
Private Declare Function WritePrivateProfileStringW Lib "Kernel32" (ByVal
app As Long, ByVal key As Long, ByVal str As Long, ByVal fil As Long) As Long
这个函数,
写的程序如下:
Private Sub Command1_Click()
Dim app As String
Dim key As String
Dim str As String
Dim fil As String
Dim ret As Long
fil = "C:\WuTemp\Test.ini" + vbNullChar
app = "MySection" + vbNullChar
key = "MyValue" + vbNullChar
str = "MyData" + vbNullChar
ret = WritePrivateProfileStringW(StrPtr(app), StrPtr(key), StrPtr(str),
StrPtr(fil))
End Sub
这样是正常的,但是把其中的字符串换成"شلاؤي"时,写进去之后就变成了“????”,按道理WritePrivateProfileStringW函数就是写unicode文件的,为什么写进去就是“???”呢?
我找了一篇文章 http://www.codeproject.com/KB/files/unicode_ini.aspx,上面说要在写unicode 文件之前先写文件头信息,需要这样吗?
还望高手赐教写unicode 配置文件的具体方法,多谢了。
解决方案 »
- Consolas字体有人用过么
- 单片机和pc通信时无法正确接收16进制数00
- 求助!VB 里面找不到System.Object~
- 急:关于调用rar压缩的问题:打包之后无法运行?
- 我这个程序哪里错了???
- 在广东省的东莞市哪里可以买关于程序的书籍?
- 高手请进来,关于FTP的WINDOWS API函数, 高难道挑战!
- 用API函数OpenPrinter打开指定的打印机,但在和打印机断线后,使用函数还能返回正确打开打印机。
- 向各位求教关于listview控件的一点使用问题!多谢了!请进!
- DATAGRID 控件使用中显示cannot initialize data bindings是怎么回事?
- VB6 读 U盘 厂商信息
- Ctrl+Z的原理?
最简单的话就是使用记事本(notepad.exe)打开,然后另存为,然后在编码域选择unicode,保存,确认覆盖。
我要的是在代码中实现。呵呵