我要做的是将一段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 配置文件的具体方法,多谢了。
解决方案 »
- 怎样不让用户双击WindowsMediaPlayer播放区域使播放窗口变成全屏
- 请问各位,怎样计算以字符串为表达式的自定义公式呢?
- 如何把VB报表的数据导入EXCEL
- 超难题:如何获得没有句柄的文本框里面的内容?估计没解了,有奇迹吗?
- 请问
- 50分求高人帮忙解决两个问题(分少了点,请不要介意)
- 请问这个函数怎么用 GetGlyphOutline
- 请教:pictureBox里的图片为什么不显示?
- 1.text 控件新数据如何换行? 2.commondialog控件中showopen用法?
- VB如何做象"网络吸血鬼"那样小图标总浮最前,能接鼠标收拿来的URL
- VB6 读 U盘 厂商信息
- Ctrl+Z的原理?
最简单的话就是使用记事本(notepad.exe)打开,然后另存为,然后在编码域选择unicode,保存,确认覆盖。
我要的是在代码中实现。呵呵