Heim > Backend-Entwicklung > PHP-Tutorial > CI框架下 Mysql存入汉字出现编码问题

CI框架下 Mysql存入汉字出现编码问题

WBOY
Freigeben: 2016-06-06 20:50:12
Original
1047 Leute haben es durchsucht

在CI框架下存入汉字 报数据库错误

这是代码: $comData = array( 'textArea' => $textArea, 'commentID' => $newComID, 'postID' => $newPostID, ); $this->db->insert('COMMENTMETA',$comData); 下面是报错信息: Error Number: 1366

Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'textArea' at row 1

INSERT INTO COMMENTMETA (textArea, commentID, postID) VALUES ('测试', 8, 28)

Filename: F:\code\CI\system\database\DB_driver.php

Line Number: 330

数据库编码: Mysql的编码都是utf8 CI框架下  Mysql存入汉字出现编码问题

回复内容:

在CI框架下存入汉字 报数据库错误

这是代码: $comData = array( 'textArea' => $textArea, 'commentID' => $newComID, 'postID' => $newPostID, ); $this->db->insert('COMMENTMETA',$comData); 下面是报错信息: Error Number: 1366

Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'textArea' at row 1

INSERT INTO COMMENTMETA (textArea, commentID, postID) VALUES ('测试', 8, 28)

Filename: F:\code\CI\system\database\DB_driver.php

Line Number: 330

数据库编码: Mysql的编码都是utf8 CI框架下  Mysql存入汉字出现编码问题

看下表是否为utf-8,这是在新建表的时候可选的属性。

update:

我仔细看了一下,你的model看起来是不符合CI规范的,使用了数组。正确的应该是:

<code>$this->[键名] = $this->input->post('***');
</code>
Nach dem Login kopieren

另外你可以看看mysql的data文件夹里面的对应库的文件夹里面的配置文件,那个必须是utf-8.

你的截图只说明了你的mysql环境是utf8的,不能代表你插入的那个表以及那些字段也是utf8编码的,此外,检查下你文件的编码(或者说插入的数据的编码)是否是utf8

iconv()转换一下插入字符串的编码

见数据库相关CI手册

检查这一行 $db['default']['char_set'] = "utf8";

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage