在使用js、jquery通过ajax传递中文参数的时候,中文参数不能插入数据库,出现了数据无法写入数据库的问题。

js或jquery通过ajax传递参数时默认的编码方式是UTF-8,mysql数据库字符集设置为utf-8,脚本字符编码设置为utf-8,在把参数值传递给服务器上的php脚本时,通过记录mysql数据库错误日志发现这样的错误提示:

Error information of Sql query is :Incorrect string value: '\xE5\x82\xBB\xE5\xA4\xA7...' for column 'content' at row 1 

 

 

原因在于插入数据的字符编码与数据库设置的字符编码不一致,导致数据不能正常的装载到数据库。但是所有的字符集编码都设置成的utf-8,不明白为什么不能写入数据库。

最后测试了几遍,把js或者jquery传递中文参数的编码转换成gb2312就能够顺利的插入数据库。

在php脚本中转换编码的方法:md_convert_encoding($paramter,$encodingTo,$encodingForm);