PHP pdo到Oracle的远程连接错误

PHP pdo到Oracle的远程连接错误,php,oracle,pdp,Php,Oracle,Pdp,我一直在尝试使用pdo远程连接到oracle 我已启用pdo驱动程序 extension=php_pdo_odbc.dll 但是得到这个错误 “SQLSTATE[HY000]:OCIEnvNlsCreate:检查字符集是否有效,以及PHP是否可以访问Oracle库和NLS数据(ext\pdo\u oci\oci\u driver.c:614)” 这是我的连接代码 try { $dbh = new PDO("oci:dbname='My server ip'/orcl;charset=U

我一直在尝试使用pdo远程连接到oracle 我已启用pdo驱动程序

extension=php_pdo_odbc.dll
但是得到这个错误

“SQLSTATE[HY000]:OCIEnvNlsCreate:检查字符集是否有效,以及PHP是否可以访问Oracle库和NLS数据(ext\pdo\u oci\oci\u driver.c:614)”

这是我的连接代码

try {
    $dbh = new PDO("oci:dbname='My server ip'/orcl;charset=UTF-8", "my user name", "my password");

    }
catch (PDOException $e)
    {     echo $e->getMessage();     }

在安装了ODAC/ODT的多个副本后,我收到了相同的错误消息,因为我不知道将Visual Studio项目(Windows窗体应用程序和ASP.NET网站)连接到Oracle数据库需要什么版本。在最后修复这个连接问题时,我破坏了我的PHP/PDO网站,该网站还需要连接到同一个Oracle数据库。它给了我和你的问题一样的错误信息。
我删除了所有ODAC/ODT客户机安装,当然也删除了Oracle服务器,然后只重新安装了Oracle服务器(在我的例子中是Oracle 11.2 Express 64位),它再次工作。我可以通过SQL开发者和PHP/PDO再次连接。在此之后,我安装了正确的ODAC/ODT(32位(!)版本,因为我的32位Visual Studio),现在我的Visual Studio Forms项目和ASP.NET网站也可以连接到Oracle服务器尝试的位错误仍然相同!