最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

MYSQL数据库存在着编码问题

来源:动视网 责编:小OO 时间:2025-09-29 21:50:03
文档

MYSQL数据库存在着编码问题

MYSQL数据库存在着编码问题,主要体现在数据库里汉字会出现乱码,WEB页面汉字显示不正常。归结起来只有一个原因:会出现编码的地方存在编码不一致。WEB开发中:MYSQL编码主要会出现在五个地方:1.mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default-character-set=utf8。2.mysql数据库的编码,原则上默认的编码是mysql安装的默认编码,也可以在建库时用语句来执
推荐度:
导读MYSQL数据库存在着编码问题,主要体现在数据库里汉字会出现乱码,WEB页面汉字显示不正常。归结起来只有一个原因:会出现编码的地方存在编码不一致。WEB开发中:MYSQL编码主要会出现在五个地方:1.mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default-character-set=utf8。2.mysql数据库的编码,原则上默认的编码是mysql安装的默认编码,也可以在建库时用语句来执
MYSQL数据库存在着编码问题,主要体现在数据库里汉字会出现乱码,WEB页面汉字显示不正常。

归结起来只有一个原因:会出现编码的地方存在编码不一致。

WEB开发中:MYSQL编码主要会出现在五个地方:

1. mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default-character-set=utf8。

2.mysql数据库的编码,原则上默认的编码是mysql安装的默认编码,也可以在建库时用语句来执行:create databasedbname default character set utf8;我这里是建立一个utf8编码的dbname数据库。

3.mysql数据表的编码,原则上默认是第二步建立的数据库的编码。提倡不要在creat table时加上编码

4.利用程序建立mysql连接时,连接字符串使用的编码。如jdbc,php mysql_connect(),这个地方必须是与你页面的编码一致。

5.WEB程序页面的编码,charset=utf8;与4必须一致。

除上面5个地方外,另有一个不是编码者所能控制的,那就是浏览用户的浏览器的编码,一般是自动选择,就不列入了。

上述五个地方,我所知道的保证不出现乱码的方法是:

1 无所谓,但是如果可以调整的话,可以设置成你所需要统一的一个编码,如utf8

2,3比较重要,我所理解的必须是一致。建议是在建库语句时带上编码,建表时就不指定编码了。

4是必须的,php下:$link = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error());

echo 'Connected successfully';

mysql_select_db('wordpress') or die('Could not select database');

mysql_query("set names utf8;"); //这句

如利用PDO的话 $dbh = new PDO($dsn, $config['db']['username'], $config['db']['password']);

$dbh->exec('SET CHARACTER SET utf8'); //这句

5在WEB页面中必须设置成上面的统一的编码。

请不要结束,继续往下看:上述方法中必须统一是统一的编码,我使用的是utf8,为什么使用utf8是我正要说的。

备注说明

1、统一使用GBK编码的话,大多数时候是不会出问题。但是如果遇到·这种字符,这个字段后的所有汉字都回出现乱码。这在oracle中同样存在。因为mysql,oracle的默认编码似乎都是(mysql-latin1亦是)iso-8559-1,对某些特殊字符会出现乱码。因此建议使用utf8。使用utf8亦是我以前排斥的,但是在hiu遇到疯狂的小覃后改变了我的观点,utf8有利于建设网站的其它版本,比如英文版...,而且设置似乎也没有丝毫麻烦。。

2、在上述的一个过程中,使用了my

sql的gui管理工具(除去web形式的phpadmin)的,如果你出现了乱码问题,那是显然的。比如sqlyog, mysql 的 mysql administrator是有默认编码的。所以在建库,建表的时候尽量使用语句在工具里来执行,而不是直接右键来createdatabase。phpadmin不存在这个问题(它是web程序)。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/twosecond/archive/2009/06/22/42052.aspx

文档

MYSQL数据库存在着编码问题

MYSQL数据库存在着编码问题,主要体现在数据库里汉字会出现乱码,WEB页面汉字显示不正常。归结起来只有一个原因:会出现编码的地方存在编码不一致。WEB开发中:MYSQL编码主要会出现在五个地方:1.mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default-character-set=utf8。2.mysql数据库的编码,原则上默认的编码是mysql安装的默认编码,也可以在建库时用语句来执
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top