【问题标题】:PHP ODBC to Db2 field name with ñ带有 ñ 的 PHP ODBC 到 Db2 字段名称
【发布时间】:2018-04-10 18:30:04
【问题描述】:

我在 Windows 2008 环境中,安装并配置了 Ibm ODBC 驱动程序,PHP 版本 7.2.3。到目前为止,我可以毫无问题地进行查询,因为我有一个带有 Ñ 字符的字段名称。

使用 Codeigniter 框架。

从表名中选择ISTYLÑ

我在选择执行时收到此错误: Símbolo à no válido

我可以看到在执行语句时,字段名称 istylñ 被替换为 istylñ

我认为这与 PHP 相关,而不是 ODBC 驱动程序本身。只是为了检查我在同一台机器上使用 Excel odbc 执行了相同的 Select 语句,并且成功检索了数据。

谢谢,

费利佩

【问题讨论】:

  • PHP 的哪个版本? Db2 数据库/表/列/表空间的代码页(代码集、CCSID)是什么?你知道 iconv 吗? no.php.net/manual/en/function.iconv.php
  • 您好,php 版本 7.2.3。不知道 Db2 的代码集。尝试使用 iconv(具有不同的转换选项)但没有成功。
  • 您的工作是发现有关数据库的基本信息,例如编码。 Excel 工作的一个原因是它可以处理 unicode/utf-8 编码的数据,而您的代码可能无法正确处理它。数据库代码集/代码页/CCSID 确定编码。
  • 你好毛,谢谢你的回复。我从 DBA 收到以下信息:代码集:UTF-8 代码页:IBM37 CCSID 011C

标签: php db2 odbc


【解决方案1】:

这行得通:

$sql = "SELECT ISTYLÑ FROM tablename";<br>
$sql = iconv("UTF-8", "ISO-8859-1", $sql);

$this->db->query($sql);

感谢毛老师的指导。

【讨论】:

    猜你喜欢
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    相关资源
    最近更新 更多