13
回答
mysql插入不了中文!
滴滴云服务器,限时包月0.9元,为开发者而生>>>   
php,mysql配置该修改的编码都改了?不知道为嘛还是插不进去???
举报
dragon2015
发帖于3年前 13回/958阅
共有13个答案 最后回答: 3年前
先测试直接在数据库用sql插入,如果能成功说明程序有问题,不能插入成功则数据库设置有问题,遇到问题要学会一步一步排查,找出原因,解决问题。

引用来自“冯云森”的评论

MySql 需要设置一下, 插入时要设置编码为GBK格式.

百度一下.

用UTF8是省心的办法,你还让别人用GBK……

引用来自“冯云森”的评论

MySql 需要设置一下, 插入时要设置编码为GBK格式.

百度一下.

引用来自“mark35”的评论

用UTF8是省心的办法,你还让别人用GBK……
顶你!

1,建立库,建立表的时候,好像都有要设置字符集吧?是不是默认的不是支持汉语的字符集?

2,程序和mysql建立连接时,要指定字符集,是不是没有指定成支持汉语的?

my.cnf里[mysqld]下配置
character-set-server=utf8

连接时指定
$mysqli = new mysqli($db_host, $db_username, $db_password, $db_name, $db_port);
$mysqli->set_charset('utf8');

HTTP头信息
header('Content-Type: text/html; charset=utf-8');

HTML<head>页面
<meta charset='utf-8'>

表单里也指定一下
<form accept-charset='utf-8' action='login.php' method='post'></form>

楼上说的都对。还有一种可能,就是作死。

一般喜欢装逼的码农,最喜欢编译安装MySQL,然后编译参数没有指定字符集,所以造成MySQL不支持某种字符集。。

但愿楼主不是这种人。

--- 共有 2 条评论 ---
南湖船老大回复 @eechen : 也有可能是从网上copy的编译指南哦 3年前 回复
eechenhttp://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html#option_cmake_with_extra_charsets -DWITH_EXTRA_CHARSETS=all 这个是默认值,编译不指定,默认也会支持所有编码. 3年前 回复

这个问题很常见,因为MYSQL默认的编码为latin。

楼主需要做几件事,这几件事对新手来说有点麻烦,因为分布在mysql配置(mysql)和代码(php、mysql、html)里。

放一个N年前我还是个菜B时录的解决mysql乱码的问题吧,看看是不是楼主要的:


优酷地址:http://v.youku.com/v_show/id_XNDIxOTE2ODQ=.html

--- 共有 1 条评论 ---
eechenMySQL默认编码既可以在编译时用-DDEFAULT_CHARSET=utf8和-DDEFAULT_COLLATION=utf8_general_ci指定编码,也可以在my.cnf配置里用character-set-server=utf8指定编码. 3年前 回复
顶部