简短结论:Informix 本身支持中文,但在 Ubuntu 上能否“正常显示/存储/处理中文”,取决于字符集(locale / DB_LOCALE / CLIENT_LOCALE)配置,而不只是操作系统是不是 Ubuntu。
下面分几点说明:
IBM Informix 支持多语言,包括中文,常见做法有:
zh_CN.gb18030zh_CN.gb2312(老系统)LVARCHAR、VARCHAR、NCHAR、NVARCHAR 等✅ 结论:Informix 支持中文
在 Ubuntu 上使用 Informix 时,中文是否“正常”,主要看:
检查:
locale
应有类似:
LANG=zh_CN.UTF-8
LC_CTYPE=zh_CN.UTF-8
若没有,可安装:
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8
常见必须设置:
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
或(推荐通用):
export DB_LOCALE=en_US.utf8
export CLIENT_LOCALE=en_US.utf8
⚠️ DB_LOCALE 和 CLIENT_LOCALE 不一致,中文容易乱码
建库示例:
CREATE DATABASE mydb WITH LOG IN "zh_CN.utf8";
或:
CREATE DATABASE mydb WITH LOG IN "en_US.utf8";
UTF-8 是最省事、最推荐的方式。
通常原因:
locale: Cannot set LC_CTYPE to default locale
说明 Informix 需要的 locale 没装。
✅ Ubuntu + Informix + UTF-8
这是目前最成熟、问题最少的组合。
如果你愿意,可以告诉我:
我可以给你一套可直接用的配置示例。