Oracle字符集设置



我有一个特殊字符的问题,比如"ñ"á"在ORACLE中使用adodb:当保存在varchar2/varchar字段表中时,保存其他字符";?"。

如果连接到oci8 conect(直接到oracle(,则正确保存特殊字符。

连接时如何设置字符集?

($db->Connect(TNS_database, USER, PASSword));

谢谢!!!

使用ADOdb,您应该设置Oracle的"客户端"(即PHP OCI8(字符集。有两种方法可以做到这一点:

  • 在启动PHP的shell中,可以将环境变量NLS_LANG设置为类似"的值;。AL32UTF8";(以最前面的句号(。如果PHP是从web服务器调用的,那么您需要确保使用正确的语法将该变量设置在正确的位置。

  • 或者,您可以使用一些ADOdb函数,如setConnectionParameter或setCharSet。我不清楚Oracle使用的确切语法。您将需要通过堆栈进行一些调试。您想要的是$this->charSethttps://github.com/ADOdb/ADOdb/blob/v5.21.0/drivers/adodb-oci8.inc.php#L253作为字符串CCD_ 4。

最新更新