本文目录一览:
php连MySQL数据库编码问题
也许是数据库的问题,我也遇到过,我用的是wampserver,界面的工具,直接点鼠标就可能建成mysql数据库,建成后导入数据,查询数据库返回面而的是乱码,我遇到的情况是这样的:
1、建库用gbk,如图。
2、导入表及数据时,默认是utf,此处要改成gbk就不是乱码了,如第图底页面,如果是默认的或是其它的字符集,能导入成功但是乱码。另外直接把sql粘贴到sql窗口,也不是乱码。
希望能帮到你,呵呵~
php+mysql编码问题
数据库表建立的时候,字符字段有字符集,关键看是选择的GB2321、UTF8等。以这个为基础,以下的几个地方都保持统一,那么数据才能插入和查询,而且不会有乱码:
一、PHP文件的编码,PHP实际上是文本文件,保存的时候是可以选择编码的,你用记事本打开选择另存为就可以看见,如果是ANSI就和前面数据库的GB2312、GBK兼容,UTF8就和UTF8一致。
二、PHP运行后浏览器页面的编码,这个也必须要一致。
三、PHP程序连接数据库之后,要运行下面的语句设置接口编码:输入mysql_query('set names gb2312');
第三条应该就是你要的答案了。
我是这么写的
?php
$link=mysql_connectlocalhost","root","root");
mysql_select_db('table',$link);
mysql_query('set names gb2312');
?
每个涉及到库的文件都会先 include 这个文件,这样就不必怕忘记编码了~
php和mysql参数编码问题
在PHP编码时加一行mysql_query('set names utf8');保证MySQL是utf8格式的,php的默认格式一般是utf8的。
急MYSQL PHP 编码问题
通过mysql命令修改:
修改数据库的字符集
mysqluse mydb
mysqlalter database mydb character set utf-8;
创建数据库指定数据库的字符集
mysqlcreate database mydb character set utf-8;
通过配置文件修改:
修改/var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci
为
default-character-set=utf8
default-collation=utf8_general_ci
重起MySQL:
或者查看php配置文件一般是config.php
一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:
mysql_query("SET NAMES UTF8"); 这个就是设置数据编码的
它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
用php在mysql数据库内查询中文出错(编码问题)
数据库的编码是 gbk 的,在查询的时候把中文(utf-8)转换成 gbk编码就可以了
$nickname=iconv('utf-8','gbk//TRANSLIT',$nickname);
转换后才执行查询