【问题标题】:Inserting special character into database (codeigniter)将特殊字符插入数据库(codeigniter)
【发布时间】:2018-02-26 03:06:33
【问题描述】:

我在插入和更新带有特殊字符的条目时遇到问题。 例如更新:构建 $updateArray 后,我有以下功能: public function updateVideo($id, $updateArray) { $this->db->where("ID", $id); return $this->db->update("videos", $updateArray); }

但是当一个值有一个特殊字符时,例如á,它用Ã更新数据库条目。这适用于每个特殊字符(éáèà 等)。

我转储了 $updateArray,那里的特殊字符很好。我回应了最后一个查询,那里也很好。即使我直接在 phpMyAdmin 中运行最后一个查询也没问题。构建查询后似乎出错了,所以在执行时。

phpMyAdmin 中的列有 latin1_swedish_ci。我设置了 $config['charset'] = 'iso-8859-1';。数据库配置也有 'char_set' => 'latin1', 'dbcollat​​' => 'latin1_swedish_ci'。

有人可以帮我找出哪里出错了吗?谢谢!

【问题讨论】:

  • 也许这个关于设置 UTF-8 的 SO 答案会帮助您找到它? stackoverflow.com/questions/279170/utf-8-all-the-way-through
  • @ourmandave 我已经按照这些步骤操作了,但是没有用。
  • 奇怪的是,如果我手动运行 CI 构建的查询(我可以回显),它就会正确。当 CI 运行它时,它会出错。

标签: database codeigniter


【解决方案1】:

尝试将 dbcollat​​ 更改为 utf8_unicode_ci

【讨论】:

    【解决方案2】:

    问题是,大多数时候,一个小错误:

    改变了这个:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    

    收件人:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 2020-08-30
      • 2016-02-18
      • 2021-03-27
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多