我正在尝试使用UTF8_unicode_ci
将简体中文插入到我的mysql表中。包括连接在内的所有内容都配置为使用UTF8。
当我尝试使用PHP使用传统的HTML表单将这些字符插入数据库表时,我收到MySQL无效的字符串值错误消息。奇怪的是,如果我使用Jquery将信息发布到另一个PHP页面来存储在数据库中,我没有得到任何错误,数据也很好。
我想知道差异是什么。任何人都可以对这个问题有所了解吗?
就我所知,所有数据都会发生。我使用$this->link = mysql_connect(cj_config::CJ_DB_HOST, cj_config::CJ_DB_USERNAME, cj_config::CJ_DB_PASSWORD);
连接到mysql,然后使用mysql_select_db
选择适当的数据库。
表格排序是utf8_unicode_ci,列也设置为utf8_unicode_ci
。数据库排序规则和连接也都设置为Utf8
。
发送html表单帖子时收到的错误是:
Error: Incorrect string value: '\x9A' for column 'company_name' at row 1.
通过jquery post发布相同的中文字符时,我没有收到此错误,而且mysql没有抱怨。
这个jquery帖子的来源如下,并且正确地看起来是utf8编码:
customer=7&task_title=%E5%95%8A&task_notes=%E5%95%8A&datetime=&method=addtaskg&smallview=true