我正在寻找以下(并且有效)MySQL 查询的 DB2 翻译:
SET NAMES 'UTF8'
我已经使用 PDO_ODBC 连接到 DB2,并且可以成功查询它,因此这不是连接问题。
驱动程序说NAMES
是一个意外的标记,所以我猜还有另一种方法来指定连接字符集。
我搜索过 stackoverflow,但大多数答案都是针对 mysql 驱动程序的,而且我不知道在 IBM 文档中搜索什么(这不是最容易导航的)
我正在寻找的是 DB2 可以接受的 SQL 查询,它具有与 MySQL 的 SET NAMES xxx
相同的效果
最佳答案
DB2 中没有等效的语句。
DB2 客户端应用程序使用标准操作系统区域设置运行。在 UNIX/Linux 上,这是通过 LANG
环境变量(可以用各种 LC_*
环境变量覆盖)来设置的,在 Windows 上,这是使用控制面板进行配置的。
在使用 PHP 的 Linux/UNIX 上,这意味着您需要在 Web 服务器启动时设置正确的区域设置环境变量。
注释:
DB2 提供了使用
DB2CODEPAGE
注册表变量覆盖任何操作系统或环境级别设置的选项。此设置位于 DB2 客户端实例级别,因此它将影响使用您安装的 DB2 客户端连接的任何/所有应用程序。如果由
LOCALE
确定的客户端应用程序代码页与数据库代码页不同,请注意 DB2 客户端将在客户端代码页和数据库代码页之间双向执行代码页转换.
关于php - DB2如何使用PDO指定连接字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27153521/