set
names
只是告诉数据库,取出和存入的字符编码是什么,与数据库内部使用什么编码储存没有关系.
那么请检查
header('Content-Type:text/html;
meta
http-equiv="content-type"
/
先记下,免得以后想不起来又到处去找!
复制代码
代码如下:
create
table
tablename
(
id
int
not
null
auto_increment,
title
null,
contnet
defalut
primary
key
('id')
)begin=MyISAM
DEFAULT
CHARSET
在插入数据之前执行:
mysql_query("SET
NAMES
然后
mysql_query("insert
into
.....")
读出数据之前执行:
mysql_query("select
*
from
tablename")
注意:此处读出的编码是把原来编码的内容重新经过编码后输出的,比如输出内容所在页面是GBK编码,那么在读出的时候在页面显示也为乱码,所以在查询之前执行
gbk"),在页面就可以正常显示GBK编码的文字内容
.
mysql中文数据出现乱码
$mysql_mylink?=?mysql_connect($mysql_host,?$mysql_user,?$mysql_pass);
mysql_query("SET?NAMES?'GBK'");
meta标签无所谓,有header所有浏览器就会按header来解析
php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码(基本上的linux都装了,没装的话download、tar、make、make install,很简单的)
my.ini:
[MySQL(和PHP搭配之最佳组合)]
[MySQL(和PHP搭配之最佳组合)d]
default-storage-engine=MyISAM
在[MySQL(和PHP搭配之最佳组合)d]下加入:
在需要做数据库操作的php程序前面加上
phpMyAdmin/config.inc.php
$cfg['RecodingEngine'] = 'iconv';
phpAdmin导出数据时
把"二进制区域使用十六进制显示"的勾去掉
乱码主要以下几个原因:
鲜少老师
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!