当我们用简单中文系统中编写软件后,拿到非简体中文的系统中运行,会发生显示的中文为乱码,
首先要了解一下字符类型:String、zString(ANSI字符俗称A字符) , WString、Cwstr(Unicode字符俗称宽字符或W字符)
为了你软件可以在任何语言的操作系统中正确显示中文,以及工作正常,需要以下操作:
1,全系列 Unicode 编程模式(很多内置FB和函数不支持这个模式)
- 工程属性中选择:Unicode 模式 (让字符常量和立即值全部是宽字符)
- 字符变量类型一律使用 WString
2,默认模式(A字符)什么也不选择,就是这个模式(推荐)
- 全部字符常量或立即值用中涉及中文的套一个函数 Wstr:Wstr("我是简体中文")
- A字符转换到其它字符输入代码页参数 936 如:StrToUtf8(a,936) StringToCWSTR(a,936) StrToWStr(a,936)
3,以上2种模式编程使用到内置FB 语句必须更换以下列表中的语句。
| FB语句 | 更换外部语句 |
|---|---|
| Open | GetFileStr 和 SaveFileStr 等读写,特殊操作参考此函数改造 |
| Dir | DirW 返回单文件 GetDIR 读取所有文件 |
| Command | AfxCommand 获取命令行 |
| AfxGetFileVersion 获取文件版本号 | |
| CurDir | AfxCurDir 返回当前目录/文件夹 |
| ChDir | AfxChDir 更改当前驱动器和目录 |
| FF_OpenFileDialog 打开文件对话框 | |
| FF_SaveFileDialog 保存文件对话框 | |
| AfxGetClipboardText 获取系统粘帖板文本 | |
| AfxSetClipboardText 设置系统粘帖板文本 | |
| FileExists | AfxFileExists 文件是不是存在 |
| Kill | AfxKill 删除文件 |
| MkDir | AfxMkDir 创建文件夹 |
| RmDir | AfxRmDir 删除文件夹 |
| FileCopy | AfxFileCopy 复制文件 |
| AfxMoveFile 移动文件 | |
| Name | AfxName 文件更名 |
| AfxFolderExists 文件夹是不是存在 | |
| AfxIs*** 判断文件系列,请查看帮助 | |
| FileDateTime | AfxFileDateTime 获取文件时间 |
| FileLen | AfxFileLen 获取文件长度 |
| Run | OpenFileExe 打开文件 |
评论一下?