您的位置:首页 > 数据库 > MySQL

Data too long for column ‘表名’ at row 1的若干解决方案(mysql编码转换的问题、中文乱码)

2016-12-05 14:06 411 查看
有经常使用表单进行传递字符串到数据库的经验的朋友可能会遇到这样一个问题:数据库获取到前台页面显示都是正常的(不是乱码),但是当使用表单传递值到执行页面插入到数据库的时候会出现无法插入,一般有如下提示:Data too long for column ‘表名’ at row 1 的提示,或者成功插入,但是显示出来中文是乱码。如果出现以上情况,,可以使用以下方法:

1、在连接数据库的代码处加上mysql_query(“set names ‘gbk’”) 或者mysql_query(“set names ‘UTF8′”);

2、修改数据库配置文件,把默认的字符编码改为gbk,(default_charset)

3、在页面输出之前使用 header(‘Content-Type:text/html;charset=UTF-8′);指定编码为UTF-8;

4、对表单传递的值进行编码强制转换,如我要传递的是keyword,则 

    $keyword=urldecode($_POST["kw"]);

    $keyword=mb_convert_encoding($keyword, ‘GB2312′, ‘UTF-8′);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Mysql 编码
相关文章推荐