在写我的日记本程序的时候发现一个问题,当把文本提交到mysql时,发现数据库中的文本全部乱码了,但是读取的时候又完全正常。。。因为准备把typecho里面写的日记内容转出来在导入数据库的时候读取出来就全部是问号。google后找到解决办法。记录下
首先在create table的时候就应该指定charset为utf8(如果用phpmyadmin可以选择utf8-general-ci或者是gbk编码),but。。。如果仅仅这样做了还是会跟我一样发现写入到数据库的时候是一堆乱码-_-||。我就是在这里饶了很久,明明把编码设置对了的为何还是一堆拉丁符号呢!!!
经过一番探索,发现只需要在php中读取和写入的时候设置字符集才行。面向对象的方法就用mysqli::set_charset();面向过程的话就用mysqli_set_charset(),参数设置为utf8或者gbk,测试,正常:)