【问题标题】:Cannot insert degree character (°) through OCI无法通过 OCI 插入度数字符 (°)
【发布时间】:2013-05-23 09:43:56
【问题描述】:

我正在将 CodeIgniter 与 OCI10 驱动程序一起使用,当使用绑定时,我在将度数字符 (°) 插入数据库时​​遇到问题。 但是错误信息是空的

Message: Query ' INSERT INTO T1 (ID, TEXT) VALUES (1, 'text with °') ' was not executed; returned error: ''.

当我使用 SQL Relay 或使用 SQL Developer 手动插入时,一切正常。 另外,当我不使用绑定时,它会正确插入。

【问题讨论】:

  • 检查字符编码
  • 总是无处不在?可能需要在建立连接时明确设置字符编码
  • 当你这样尝试时会发生什么:INSERT INTO T1 (ID, TEXT) VALUES (1, 'text with ' || chr(176))?
  • 那个 chr() 函数正在工作......但我必须对我的所有查询运行一些替换函数,因为我永远不知道它会出现在哪里......
  • 您确定您的源文件是 UTF-8 格式吗?

标签: php oracle codeigniter


【解决方案1】:

$this->db->db_set_charset('latin1', 'latin1_swedish_ci'); 在插入记录时使用它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 2016-04-15
    • 2013-12-01
    • 1970-01-01
    相关资源
    最近更新 更多