【问题标题】:Codeigniter : Problem inserting accents in MysqlCodeigniter:在 Mysql 中插入重音的问题
【发布时间】:2010-10-29 08:33:20
【问题描述】:

我正在试用代码点火器,但在尝试在 Mysql 数据库中插入新行时遇到错误消息。

我要插入的文本是法语,并且包含一些重音符号。

这是我的代码:

    $data= array(
        'title' => $this->input->post('title'),
        'date' => $this->input->post('date'),
        'mytext' => $this->input->post('mytext')
        );
    
    $this->db->insert('blog', $data); 

这段代码似乎工作正常(我插入了一些“测试测试”条目),但是当我尝试输入带有重音符号的内容时,例如“Il était là”,我得到一条错误消息:

发生数据库错误

错误号:1366

不正确的字符串值:第 1 行的列“mytext”的“\xE9tait ...”

我在代码点火器论坛上查看了修复,但他们所说的只是在 mysql 中将排序规则更改为 UTF8。我试过了,但我总是遇到同样的问题。

【问题讨论】:

  • utf8_encode() 有效,谢谢!很奇怪,我以前的项目中从来没有使用过这个功能,我正在使用代码点火器重新做。

标签: php mysql codeigniter internationalization


【解决方案1】:

在插入数据库之前尝试对其进行 uft8 编码。

utf8_encode($string)

【讨论】:

    猜你喜欢
    • 2011-02-16
    • 2014-05-04
    • 2023-04-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2020-12-17
    • 1970-01-01
    相关资源
    最近更新 更多