转自http://hi.baidu.com/killwolf110/item/838d56224067c63395f62b70

程序需要运行在越南地区,语言为越南文,操作系统为英文版,程序支持unicode,但是显示时还是出现乱码,主要出现在越南文的标点符号位置。

解决办法:
    1.控制面板 ——> 区域和语言选项——>语言——> 附加的语言支持 ——> 为复制文字和从右到左的语言安装文件(包括泰文) 为东亚语言安装文件选中上面的checkbox,然后系统自动安装语言包,再次运行程序,显示正常。

2.程序内部设置区域
    使用SetThreadLocale函数设置运行区域,如越南文:
    【delphi】SetThreadLocale($042A); 

设置前最好判断下环境,在特定的环境下才设置:

//处理越南文 ,$0409是英语 - 美国, $042A是越南,$0804是中文
//if (word(GetSystemDefaultLangID() and $eFF)=Lang_English) then
if (GetThreadLocale=$042A) or (GetThreadLocale=$0409) then //取得当前线程的地方ID
begin
SetThreadLocale($042A);
end;

代码添加在程序初始化的地方
    前提是控件支持Unicode,如TNT系列控件或AlphaControls(要开启TNT编译选项并重新编译并安装)

字体也是个问题,有时拖放控件的默认字体是不被支持的,显示时就会出现异常,如Dong,会显示为Doong或Donng,甚至是Do|ng。把字体换为 Tahoma,编码为默认,就好了。

3.非程序,如Flash
    解决办法是在英语操作系统里面,安装英文版本的Flash制作工具,如Flash MX
    在这个环境里面重新生成之前在中文环境里的flash。

区域设置 ID (LCID) 表

区域设置描述 简写 十六进制值 十进制值
南非荷兰语 af 0x0436 1078
阿尔巴尼亚语 sq 0x041C 1052
阿拉伯语 - 阿拉伯联合酋长国 ar-ae 0x3801 14337
阿拉伯语 - 巴林 ar-bh 0x3C01 15361
阿拉伯语 - 阿尔及利亚 ar-dz 0x1401 5121
阿拉伯语 - 埃及 ar-eg 0x0C01 3073
阿拉伯语 - 伊拉克 ar-iq 0x0801 2049
阿拉伯语 - 约旦 ar-jo 0x2C01 11265
阿拉伯语 - 科威特 ar-kw 0x3401 13313
阿拉伯语 - 黎巴嫩 ar-lb 0x3001 12289
阿拉伯语 - 利比亚 ar-ly 0x1001 4097
阿拉伯语 - 摩洛哥 ar-ma 0x1801 6145
阿拉伯语 - 阿曼 ar-om 0x2001 8193
阿拉伯语 - 卡塔尔 ar-qa 0x4001 16385
阿拉伯语 - 沙特阿拉伯 ar-sa 0x0401 1025
阿拉伯语 - 叙利亚 ar-sy 0x2801 10241
阿拉伯语 - 突尼斯 ar-tn 0x1C01 7169
阿拉伯语 - 也门 ar-ye 0x2401 9217
巴斯克语 eu 0x042D 1069
白俄罗斯语 be 0x0423 1059
保加利亚语 bg 0x0402 1026
加泰罗尼亚语 ca 0x0403 1027
中文 - 中华人民共和国 zh-cn 0x0804 2052
中文 - 中华人民共和国香港特别行政区 zh-hk 0x0C04 3076
中文 - 新加坡 zh-sg 0x1004 4100
中文 - 台湾地区 zh-tw 0x0404 1028
克罗地亚语 hr 0x041A 1050
捷克语 cs 0x0405 1029
丹麦语 da 0x0406 1030
荷兰语 nl 0x0413 1043
荷兰语 - 比利时 nl-be 0x0813 2067
英语 - 澳大利亚 en-au 0x0C09 3081
英语 - 伯利兹 en-bz 0x2809 10249
英语 - 加拿大 en-ca 0x1009 4105
英语 - 爱尔兰 en-ie 0x1809 6153
英语 - 牙买加 en-jm 0x2009 8201
英语 - 新西兰 en-nz 0x1409 5129
英语 - 南非 en-za 0x1C09 7177
英语 - 特立尼达岛 en-tt 0x2C09 11273
英语 - 英国 en-gb 0x0809 2057
英语 - 美国 en-us 0x0409 1033
爱沙尼亚语 et 0x0425 1061
波斯语 fa 0x0429 1065
芬兰语 fi 0x040B 1035
法罗语 fo 0x0438 1080
法语 - 标准 fr 0x040C 1036
法语 - 比利时 fr-be 0x080C 2060
法语 - 加拿大 fr-ca 0x0C0C 3084
法语 - 卢森堡 fr-lu 0x140C 5132
法语 - 瑞士 fr-ch 0x100C 4108
盖尔语 - 苏格兰 gd 0x043C 1084
德语 - 标准 de 0x0407 1031
德语 - 奥地利 de-at 0x0C07 3079
德语 - 列支敦士登 de-li 0x1407 5127
德语 - 卢森堡 de-lu 0x1007 4103
德语 - 瑞士 de-ch 0x0807 2055
希腊语 el 0x0408 1032
Hebrew he 0x040D 1037
印地语 hi 0x0439 1081
匈牙利语 hu 0x040E 1038
冰岛语 is 0x040F 1039
印度尼西亚语 in 0x0421 1057
意大利语 - 标准 it 0x0410 1040
意大利语 - 瑞士 it-ch 0x0810 2064
日语 ja 0x0411 1041
朝鲜语 ko 0x0412 1042
拉脱维亚语 lv 0x0426 1062
立陶宛语 lt 0x0427 1063
马其顿语 mk 0x042F 1071
马来语 - 马来西亚 ms 0x043E 1086
马耳他语 mt 0x043A 1082
挪威语 - 博克马尔 no 0x0414 1044
波兰语 pl 0x0415 1045
葡萄牙语 - 标准 pt 0x0816 2070
葡萄牙语 - 巴西 pt-br 0x0416 1046
拉托-罗马语 rm 0x0417 1047
罗马尼亚语 ro 0x0418 1048
罗马尼亚语 - 摩尔多瓦 ro-mo 0x0818 2072
俄语 ru 0x0419 1049
俄语 - 摩尔多瓦 ru-mo 0x0819 2073
塞尔维亚语 - 塞瑞利克 sr 0x0C1A 3098
Setsuana tn 0x0432 1074
斯洛文尼亚语 sl 0x0424 1060
斯洛伐克语 sk 0x041B 1051
索布语 sb 0x042E 1070
西班牙语 - 标准 es 0x040A 1034
西班牙语 - 阿根廷 es-ar 0x2C0A 11274
西班牙语 - 玻利维亚 es-bo 0x400A 16394
西班牙语 - 智利 es-cl 0x340A 13322
西班牙语 - 哥伦比亚 es-co 0x240A 9226
西班牙语 - 哥斯达黎加 es-cr 0x140A 5130
西班牙语 - 多米尼加共和国 es-do 0x1C0A 7178
西班牙语 - 厄瓜多尔 es-ec 0x300A 12298
西班牙语 - 危地马拉 es-gt 0x100A 4106
西班牙语 - 洪都拉斯 es-hn 0x480A 18442
西班牙语 - 墨西哥 es-mx 0x080A 2058
西班牙语 - 尼加拉瓜 es-ni 0x4C0A 19466
西班牙语 - 巴拿马 es-pa 0x180A 6154
西班牙语 - 秘鲁 es-pe 0x280A 10250
西班牙语 - 波多黎各 es-pr 0x500A 20490
西班牙语 - 巴拉圭 es-py 0x3C0A 15370
西班牙语 - 萨尔瓦多 es-sv 0x440A 17418
西班牙语 - 乌拉圭 es-uy 0x380A 14346
西班牙语 - 委内瑞拉 es-ve 0x200A 8202
苏图语 sx 0x0430 1072
瑞典语 sv 0x041D 1053
瑞典语 - 芬兰 sv-fi 0x081D 2077
泰语 th 0x041E 1054
土耳其语 tr 0x041F 1055
汤加语 ts 0x0431 1073
乌克兰语 uk 0x0422 1058
乌尔都语 - 巴基斯坦 ur 0x0420 1056
越南语 vi 0x042A 1066
科萨语 xh 0x0434 1076
意第绪语 ji 0x043D 1085
祖鲁语 zu 0x0435 1077

转载于:https://www.cnblogs.com/xiaoyusmile/p/3924577.html

【转】SetThreadLocale解决越南文乱码问题相关推荐

  1. mysql 乱码 越南_MySQL_mysql数据库乱码之保存越南文乱码解决方法,我自己测试一下,很多字符变 - phpStudy...

    mysql数据库乱码之保存越南文乱码解决方法 我自己测试一下,很多字符变成了 '?'. 数据库连接已经是使用了 utf8 字符集: define("MYSQL_ENCODE", & ...

  2. mysql 乱码 越南_mysql数据库乱码之保存越南文乱码解决方法

    我自己测试一下,很多字符变成了 '?'. 数据库连接已经是使用了 utf8 字符集: 复制代码 代码如下:define("MYSQL_ENCODE", "UTF8&quo ...

  3. mysql 越文_mysql数据库乱码之保存越南文乱码解决方法_MySQL

    bitsCN.com 我自己测试一下,很多字符变成了 '?'. 数据库连接已经是使用了 utf8 字符集: define("MYSQL_ENCODE", "UTF8&qu ...

  4. mysql 乱码 越南_记一次Unipack越南文乱码Bug的修复

    此文已由作者左裕初授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 问题 Unipack系统要保存一些越南文的包名,由于这是一个上古系统,处理起来一定要采取庖丁解牛的态度 思路 ...

  5. smartform解决越南文预览正常 打印后字符乱码

    1. 问题 预览的时候显示正常 打印成pdf,或者打印机打印出来字符乱码 2. 解决方法 事务代码:SPAD 维护输出设备 复制LP01输出设备到LP02 设置参数(设备类型:SWINCFC) 保存, ...

  6. Unicode入门与剖析——从一个越南文的案例说起

    Unicode入门与剖析--从一个越南文的案例说起 写在前面     和大多数人一样,我本来对Unicode也是一知半解.由于从微软的VS2003开始(说起来竟然是8年以前了),Unicode已经是一 ...

  7. Ubuntu 11.04解决txt文档中文乱码方法

    Ubuntu 11.04解决txt文档中文乱码方法: $ gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferen ...

  8. zabbix 彻底解决图片中文乱码

    zabbix 彻底解决图片中文乱码 环境: CentOS 7.2 zabbix-3.0.4 LTS nginx-1.10.0 php-5.6.26 mariadb-10.1.13 请参看zabbix- ...

  9. 数字加字母文件 服务器,unraid服务器all in one 篇四:1秒钟完美解决jellyfin字幕乱码...

    unraid服务器all in one 篇四:1秒钟完美解决jellyfin字幕乱码 2020-07-14 10:57:29 18点赞 98收藏 17评论 先说最简单的方法,就是把镜像从linuxse ...

最新文章

  1. php 面对对象总结,PHP 面向对象总结
  2. java如何使用类数组_java – 如何使用泛型与数组的类?
  3. 数学专业学计算机哪一行,计算数学
  4. arm与linux的些许问题,《ARM与Linux些许问题》第一章:ARM工作模式
  5. 人脸检测(十八)--TinyFace(S3FD,SSH,HR,RSA,Face R-CNN,PyramidBox)
  6. SQL数据库的下载与安装
  7. 常用的Mysql数据库操作语句大全
  8. The Security Database on the Server Does Not Have a Computer Account
  9. SDL2音视频渲染入门
  10. 极客感十足的电子胸牌 ART-Badge V2.0开发记录!
  11. vue element-ui elementUi 邮箱自动补全 邮箱自动填充
  12. 嵩天老师Python面向对象-23,Python计算自然常数e
  13. 【AUTOSAR】【以太网】 EthIf
  14. ANSI colored Python logging — Gist
  15. ICO、STO、IEO
  16. [活动已经结束] 2008(第五届)中国数据挖掘与商业智能研讨会
  17. matlab模拟频谱仪,毕业设计基于MATLAB的声音信号频谱分析仪源代码V3.1(手机版)...
  18. JavaScript中while以及do while语句的使用
  19. php对plc的TCP通信,西门子S7-1200PLC之间TCP通信实例步骤
  20. C# 实现reportview的操作,详解。

热门文章

  1. win10 电脑中模块initpki.dll加载失败提示0x80004005错误代码如何解决
  2. 软件和硬件的质量曲线
  3. SpringBoot2+Netty+WebSocket(netty实现websocket,支持URL参数)
  4. 如何评估个人的软件开发能力
  5. matlab调和级数求和,科学网—疯狂的绝技------级数加速收敛的艺术 - 张江敏的博文...
  6. laravel jwt attempt 总是返回false
  7. F7飞控项目调试过程的记录 系列文章第一部分
  8. 计算机如何恢复桌面,如何恢复电脑原始桌面
  9. Web网页制作——花店网站(彼岸の花 偏安一隅)
  10. 【翻译】NIST IR 8151: 显著减少软件漏洞——致美国白宫科技政策办公室