我正在尝试使用以下连接字符串从 JDE 数据库中获取我们的阿拉伯语值:
$dsn = "Driver={SQL Server};Server=10.10.10.27;Database=JDE;charset=utf8";
$username = "username";
$password = "password";
$string = "odbc:".$dsn.";Uid=".$username.";Pwd=".$password.";";
$con = new PDO($string);
如您所见,我指定了charset=utf8。
我也有我的 HTML 元数据:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我之前也使用过从 MySQL 获取的阿拉伯字符,它显示正确,我可以看到阿拉伯字符,但是从 JDE 数据库中我得到以下信息:
姓名: ??????????????????????????????
我尝试在我的 php 代码中添加以下内容,尝试不同的输出:
echo iconv('windows-1256', 'utf-8', $DataFromJDE);
echo utf8_decode($DataFromJDE);
echo utf8_encode($DataFromJDE);
但都失败了。
我需要在服务器上进行配置吗?
我在 Windows 服务器上使用 Apache 和 PHP 7。
JDE 位于单独的服务器中。
我错过了什么?它来自 PHP 还是 JDE?