为了账号安全,请及时绑定邮箱和手机立即绑定

UTF-8 通过 CLI php 中的 unixODBC php PDO Debian 9

UTF-8 通过 CLI php 中的 unixODBC php PDO Debian 9

PHP
胡说叔叔 2023-04-28 14:14:58
我有一个问题,非常非常挑剔。我有一个通过 unixODBC 连接到 IBM i (AS400) 的 LAMP 服务器。PHP 通过 IBM i 上的 ODBC 连接在 IBM i 上执行 sql。我想在我的数据库中做一个简单的选择。当脚本由导航器 (apache) 执行时,它工作得很好,但是当脚本由 CLI (php example.php) 执行时,以及当我的记录 PDO 中有特殊字符如:Ô ô é à @ 等时,它会返回 NULL . 当我在我的 Web 浏览器中执行脚本时,所有特殊字符都可以。我不明白为什么。我将“CHARSET=UTF-8”放入我的 DSN PDO 连接中。我认为这个错误与:iSeries Access ODBC Driver with unixodbc on Debian - Invalid UTF-8 characters being returned from iSeries because when I SELECT with HEX(field) 我有来自浏览器和 CLI 的 hexa。PHP 最新版本 (7.4.6),Debian 9。
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

根据评论线程,问题的原因是当从命令行 shell 和 php CLI 运行时,shell 没有为正确的语言环境(国家等)正确配置 UTF-8。



查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信