【问题标题】:Spanish characters are not storing in Oracle by ADODB+phpADODB+php 未将西班牙语字符存储在 Oracle 中
【发布时间】:2014-07-09 13:46:28
【问题描述】:

我在我的应用程序中使用西班牙语字符。目前我正在将这样的西班牙口音存储到数据库中

 é í ó útestestet 

如果我使用这样的数据库查询

UPDATE indi_cmi_unidad
    SET 
        nombre='Oscar:Oscar: Oscar:    é í ó ú',
        factor='0',
        indi_unidad_base='',
        abreviatura='tc'
    WHERE idunidad='3'

那就好啦,它会保存这个字符

但是当我从 ADODB + PHP 传递这个查询时,它反映了数据库中的特殊字符,例如,

我尝试了很多 我还将这个查询放在我的 adodb 构造函数类中

$sql = "ALTER SESSION SET NSL_CHARACTERSET = 'US7ASCII'";

但没有得到任何结果。 请帮帮我

感谢和问候

【问题讨论】:

  • 你使用的是什么类型的DB collation
  • 我认为我当前的 NSL_CHARACTERSET 是 win1252 关于排序规则我不知道
  • 为什么不把字符集改成utf-8?
  • @JoanManuelHernández 先生,我在共享服务器上使用 Oracle 数据库
  • 好的,如果这不起作用,很抱歉,但 Oracle DB 接受通用字符集...docs.oracle.com/cd/B28359_01/server.111/b28298/…

标签: php oracle adodb oci8


【解决方案1】:

您是否在与数据库的连接上设置了正确的字符集?

http://www.php.net//manual/es/function.oci-connect.php

检查 character_set 参数。

这样的事情应该可以工作:

$connection = oci_connect(DB_USER, DB_PASS, DB_CONN_STRING, 'WE8ISO8859P15');
                                                            ^^^^^^^^^^^^^^^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2012-10-26
    • 2023-03-18
    • 1970-01-01
    • 2013-07-03
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多