mysql+php问题
有两个字符串,如果用setnamesgbk那么第一段字符会乱码,如果用setnamesutf8那么如果插入的第二段字符是英文那没问题,但是如果是中文那么直接两段都插不进m...
有两个字符串,如果用set names gbk 那么第一段字符会乱码,如果用set names utf8 那么如果插入的第二段字符是英文那没问题,但是如果是中文那么直接两段都插不进mysql里。mysql的默认编码是utf8,求解这种怎么解决啊?
展开
2个回答
展开全部
关于编码统一,这里拿gbk 编码来举例;
1、首先,看文档流的编码是不是gbk,如果文档流不是gbk而文档内容是gbk,或者反之,会出现乱码现象;
2、在确定文档流是gbk 的情况下,检查文档内容是否是gbk 编码,要保持统一;也就是文档中的内容(尤其是非英文和数字,比如中文)必须是gbk 编码的中文而不是utf-8 编码或者其他编码的中文;
3、确定mysql 编码,通常使用 set names gbk就行了;
4、确定数据表的编码是否是gbk,如果表的编码不是gbk 而插入的数据是gbk,会出现乱码或者根本就插不进去;
查看数据表编码的方法:SQL:show create table table_name;
如果有建表的sql 语句,可以直接看建表时设置的是哪种编码,如下图是 utf8:
楼主仔细核对核对,看是哪个地方编码没有统一,如果编码都统一了还是出现乱码或者不能插入数据,那就说明不是数据编码的问题了。
可能是表结构,如果字段属性不是 字符串 类型的,那肯定无法去操作中文
2015-08-15
展开全部
mysqli_query('set names utf8')这句话是保证连接通道是utf8格式的,数据库默认是utf8的话,那就要检查你这个字段设计的是什么编码了,估计是西文编码,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询