我必须将 CakePhp 与 ingres 一起使用。
问题是我必须在网站中使用 UTF-8,并且数据库以 ISO-8859-1 提供。
所以我的问题是,如何管理这个字符集问题?
在 MySql 上,我知道我可以在数据库上运行“SET NAMES UTF-8”请求,但我找不到如何使用 ingres 执行此操作?
非常感谢!
我必须将 CakePhp 与 ingres 一起使用。
问题是我必须在网站中使用 UTF-8,并且数据库以 ISO-8859-1 提供。
所以我的问题是,如何管理这个字符集问题?
在 MySql 上,我知道我可以在数据库上运行“SET NAMES UTF-8”请求,但我找不到如何使用 ingres 执行此操作?
非常感谢!
不幸的是,编码/字符集是使用环境变量在系统级别定义的II_CHARSETxx
。查看输出ingprenv
以获取您的价值。您可以更改它,但可能会导致数据损坏。使用 UTF-8 的最佳选择是使用 N(VAR)CHAR,而不是 VARCHAR,PHP 驱动程序将假定所有传入的数据都在 UTF-8 中并从 UTF-16 转换。此转换由 ini 设置控制ingres.utf8
(请参阅http://php.net/manual/en/ingres.configuration.php#ini.ingres.utf8)