PHP MYSQL配合使用的乱码解决

本文介绍如何解决PHP和MySQL交互过程中可能出现的乱码问题,重点在于确保数据库、PHP页面及连接字符集的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当你的一段PHP程序写好后,会上传到服务器,如果服务器是自己搭建的,做mysql的设置也方便,但是如果是上传到虚拟主机或者别人的主机,做mysql的设置就很不方便。

所以当我们写php和mysql程序时,最好一步到位,不要给以后搬迁的过程中带来乱码问题。

一般来讲,乱码都是字符集引起的。而避免以上所述的问题,主要关注以下环节:

1.mysql数据库服务会有一个默认的字符集,如果你创建数据库时不指定字符集,那么系统默认使用mysql服务默认的字符集。mysql的数据表,可以针对某字段做字符集设定

2.PHP的页面有字符集的设定,影响到浏览器以指定的字符集解析网页

3.PHP连接mysql时,的数据库连接也是有字符集设定的,也就是客户端字符集。

只有当这三者保持一致时,你的页面才不会出现乱码。

针对以上三个环节,解决的办法如下:

1.建数据库时指定字符集

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`number` varchar(21) DEFAULT NULL,
`display_name` varchar(100) DEFAULT NULL,
`number_desc` varchar(100) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=gbk


2.建前面的blog《解决网页乱码》

3.设定php连接的字符集

$linkID=@mysql_connect("localhost","root","000000") or die("you could notconnect mysql");
@mysql_select_db("test") or die("could not select database!");
mysql_query("SET NAMES 'GBK'");


做到以上3点,系统字符集已统一,不会出现乱码问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值