res = odbc_exec($conn, 'set names utf8');放在插入语句前 不行就把sql打印出来,手动复制到mysql控制台执行,看有什么错
在命令行添加的时候,如果是Windows系统,默认是GBK的,所以你先在命令行里面执行一句 set names utf8;再添加,这样,在phpmyadmin中看就不是乱码了。多学点编码的知识。
1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;3.在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf8或者gbk。希望对你有所帮助。
原因就是对字符存储的字节数不一样,比如 emoji 字符 "❤",如果用 utf8mb4 存储,占用 3 个字节,那 varchar(12) 就能存放 12 个字符,但是换成 LATIN1,只能存 4 个字符。
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:mysql_mylink = mysql_connect($mysql_host,mysql_user,mysql_pass);mysql_query("SET NAMES 'GBK'");以上就是小编为大家带来的PHP读...