gpt4 book ai didi

php - CodeIgniter Active Record 删除特殊字符

转载 作者:搜寻专家 更新时间:2023-10-30 22:16:44 25 4
gpt4 key购买 nike

我是 CodeIgniter 的新手,遇到了将特殊字符插入 MySQL 数据库的问题。我正在使用以下代码将数据插入数据库:

return $this->db->insert('table_name', $data);

当我查看数据库中的文本时,所有“€”符号都更改为“?”迹象。另外,其中有一个带有'á'的句子被删除了,并且它之后的所有文本都没有插入到数据库中。

我在插入之前对 $data 做了一个 var_dump,字符是正确的。

该字段的 MySQL 排序规则是 latin1_swedish_ci。我将其更改为 utf8_general_ci 以查看它是否会有所不同,但随后完全省略了“€”符号。


解决方案:在数据库插入之前,将字符集设置为 latin1:

$this->db->query("SET NAMES 'latin1'");
return $this->db->insert('table_name', $data);

另一种解决方案是更改 CodeIgniter 数据库文件 (config/database.php)。代码应为:

$db['default']['char_set'] = 'latin1';
$db['default']['dbcollat'] = 'latin1_swedish_ci';

最佳答案

您在 config/database.php 文件中配置的字符集是什么? See here for info on database config file.

编辑:

也看看这个definitive guide to UTF-8 and CI .

关于php - CodeIgniter Active Record 删除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11016377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com