我想在俄罗斯windows下用文本框显示某些符号(已知Unicode值),它们在word、notepad、
ultraedit等字处理软件中均能正确显示,但是在vb文本框中却变成了"?"。我是使用
字符数组通过text1.text=text1.text & bytUnicode(i) 的形式加入到文本框的,但是像€(U+20AC)就能正常显示,像¨(U+00A8)就变成了"?",请问为何有此不同呢?我改用简体中文windows2000仍然无法得到改善。如何解决??下面是我想在文本框中显示的符号的列表:¨(U+00A8) ˆ(U+02C6) ª(U+00AA) Ö(U+00D6) ¿(U+00BF)
̀(U+0300) ́(U+0301) ˜(U+02DC) ¥(U+00A5) ö(U+00F6)
¡(U+00A1) ¢(U+00A2) £(U+00A3) Ç(U+00C7) Ä(U+00C4)
Ü(U+00DC) ²(U+00B2) β(U+00DF) ä(U+00E4) ü(U+00FC)注:其中(U+0300) (U+0301)两个,连csdn的文本框也无法显示
ultraedit等字处理软件中均能正确显示,但是在vb文本框中却变成了"?"。我是使用
字符数组通过text1.text=text1.text & bytUnicode(i) 的形式加入到文本框的,但是像€(U+20AC)就能正常显示,像¨(U+00A8)就变成了"?",请问为何有此不同呢?我改用简体中文windows2000仍然无法得到改善。如何解决??下面是我想在文本框中显示的符号的列表:¨(U+00A8) ˆ(U+02C6) ª(U+00AA) Ö(U+00D6) ¿(U+00BF)
̀(U+0300) ́(U+0301) ˜(U+02DC) ¥(U+00A5) ö(U+00F6)
¡(U+00A1) ¢(U+00A2) £(U+00A3) Ç(U+00C7) Ä(U+00C4)
Ü(U+00DC) ²(U+00B2) β(U+00DF) ä(U+00E4) ü(U+00FC)注:其中(U+0300) (U+0301)两个,连csdn的文本框也无法显示
解决方案 »
- 怎样用vb编写能下载mms流媒体的程序
- 大元宵的,无理由加班,TMD神经病操,非常不爽散分
- 各位请帮忙解决一下这个问题,谢谢!
- 急问我用来存数据的CommonDialog怎么安取消按钮的时候老是出错啊??
- 关于查询分析器原理
- dbgrid32.ocx 谁有呀,给我发一个 email:[email protected]
- 使用printer代码打印报表,在EPSON1600K上一切正常,但换了台打印机后打印时,系统提示插入纸张.
- 刚才那种做法可能是太难了,那么换成这样行不行?像“电台、地址栏、金山毒霸、链接”一样
- 用ole,怎么实现mapinfo地图的放大缩小和漫游?
- 为什么combo1.change()事件不执行?????
- 怎么将一幅黑白(就只有黑色和白色)图象的数据保存到一个数组里面?
- 求救
应该可以解决你的问题
string 必要参数。要转换的字符串表达式。
conversion 必要参数。Integer。其值的和决定转换的类型。
LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。)
设置值conversion 参数的设置值为:常数 值 说明
vbUpperCase 1 将字符串文字转成大写。
vbLowerCase 2 将字符串文字转成小写。
vbProperCase 3 将字符串中每个字的开头字母转成大写。
vbWide* 4* 将字符串中单字节字符转成双字节字符。
vbNarrow* 8* 将字符串中双字节字符转成单字节字符。
vbKatakana** 16** 将字符串中平假名字符转成片假名字符。
vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。
vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。
*应用到远东国别。
**仅应用到日本。
注意 这些常数是由 VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如 vbUpperCase + vbWide,互斥的常数不能组合,例如 vbUnicode + vbFromUnicode。当在不适用的国别使用常数 vbWide、vbNarrow、vbKatakana,和 vbHiragana 时,就会导致运行时错误。下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),换行 (Chr$(10)),垂直制表符 (Chr$(11)),换页 (Chr$(12)) ,回车 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的实际值会随国家/地区而不同。说明在把 ANSI 格式的 Byte 数组转换为字符串时,您应该使用 StrConv 函数。当您转换 Unicode 格式的这种数组时,使用赋值语句。
为了能更直观的解释我想问什么,我编了一段小程序如下Private Sub test()
Dim byttmp(3) As Byte
'"€"的unicode是U+20AC,"¡"(倒过来的感叹号)的Unicode是U+00A1,在字符映射表中可以查到
byttmp(0) = &HAC
byttmp(1) = &H20
byttmp(2) = &HA1
byttmp(3) = &H0
Text1.Text = byttmp
End Sub执行程序就能看到前面的"€"能正常显示,但是倒感叹号却成了问号,为什么呢?以上程序在PWIN2000用VB6执行