0

我在 ORACLE 中使用 adodb 对特殊字符(如“Ñ”、“á”)有疑问:当保存在 varchar2/varchar 字段中时,请保存其他字符“¿”。

如果与 oci8 conect (direct to oracle) 连接,则特殊字符会正确保存。

连接时如何设置字符集?

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

谢谢 !!!

4

1 回答 1

0

使用 ADOdb,您应该设置 Oracle 'client'(即 PHP OCI8)字符集。有两种方法可以做到这一点:

  • 在启动 PHP 的 shell 中,您可以将环境变量设置NLS_LANG为类似“.AL32UTF8”(带有前导句号)。如果从 Web 服务器调用 PHP,则需要确保使用正确的语法将此变量设置在正确的位置。

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

于 2021-04-29T05:22:46.253 回答