在 Ubuntu 上“汉化 Informix”通常有两层含义,需要分别说明:
这是最常见需求:数据库能存中文、不出现乱码。
Informix 常用中文字符集:
zh_CN.utf8(推荐,UTF-8)zh_CN.gb18030zh_CN.gb(旧)安装或初始化实例时:
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
编辑 $INFORMIXDIR/etc/onconfig:
DB_LOCALE zh_CN.utf8
CLIENT_LOCALE zh_CN.utf8
然后:
oninit -iv
CREATE DATABASE mydb WITH LOG;
(继承 DB_LOCALE)
或显式:
CREATE DATABASE mydb DB_LOCALE zh_CN.utf8;
确保终端和客户端:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
Ubuntu 先装中文语言包:
sudo apt install language-pack-zh-hans
⚠️ 说明:
Informix 官方并未提供完整中文消息文件,尤其新版本(12.x / 14.x)基本只有英文。
使用英文 + 中文文档
部分旧版本有中文消息
msg/zh_CN 目录自行汉化(不推荐生产)
$INFORMIXDIR/msg/
en_us 目录为 zh_CN 并翻译| 现象 | 原因 |
|---|---|
中文变 ? |
字符集不对 |
| 终端乱码 | Ubuntu LANG 非 UTF-8 |
| 客户端乱码 | CLIENT_LOCALE 不一致 |
快速检查:
echo $LANG
echo $DB_LOCALE
echo $CLIENT_LOCALE
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
如果你愿意,可以告诉我:
我可以给你更精确的配置。