成都创新互联网站制作重庆分公司

php连接数据库utf8 PHP连接数据库实现登录界面

php访问mysql数据库时,读出的数据是问号!如何解决,设置的编码方式是utf-8

两边入手,

创新互联专业为企业提供梅里斯网站建设、梅里斯做网站、梅里斯网站设计、梅里斯网站制作等企业网站建设、网页设计与制作、梅里斯企业网站模板建站服务,十多年梅里斯做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

PHP,需要设置页面编码,加一行代码:

header('Content-Type:text/html;charset=utf-8');

这样就把输出编码改为了UTF-8

但是,MySQL也要设置,那就是连接到数据库之后再加一行

mysql_query("SET

NAMES

`UTF-8`");

即可

当然,你得保证你的数据库的字符集是UTF-8

如果仍然出错,那就说明数据库的字符集配置有问题

php 连接ORALCE数据库 utf8 转 iso-8859-1的问题

ISO-8859-1是单字节字符集,又称Latin-1,向下兼容ASCII,所以你可以尝试直接使用GBK编码写入数据库。

其实数据库本身只是存储而已,你所说的乱码只是你的数据库查看工具所反映出来的现象。如果你页面本身用的是UTF-8编码,存入数据库和读出应该都是正常的,而不必纠结数据库查询工具所看到的现象。或者只能通过设置数据库编码、数据库查看工具编码、页面源代码编码三者一致才能最好地解决这个问题。

php连mysql用 utf-8编码乱码怎么办

如果设置了set names utf8还是乱码的话,你需要看看数据库的编码格式了,乱码产生的原因,是因为存放时的编码和取出数据展示的编码不一致,导致的不能正常显示,你先查看数据库的编码合适,存放数据库开始检查

PHP使用utf8插入中文数据到MySQL中文显示会乱码怎么办?

数据库使用utf8编码,需要在操作的过程中统一全部编码。

1.数据库默认编码

CREATE DATABASE `test` DEFAULT CHARACTER SET 'utf8';

2.表默认编码

CREATE TABLE `tablea`(

`id` INT NOT NULL AUTO_INCREMENT,

`title` VARCHAR(100) NULL,

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.字段默认编码

默认情况下,字段的编码同表的编码,但是如果修改了表的编码,字段编码不会同步修改,需要手动修改

这里修改编码测试我将utf8 改为 gb2312  ,仅用于观察修改后的情况(实际使用中可能是将gbk修改为utf8)

ALTER TABLE `test`.`tablea` CHARACTER SET = gb2312 ;

-- 修改表编码后,查看建表语句

show create table `tablea`;

-- 可以看到输出的建表语句中字段单独设置了编码

CREATE TABLE `tablea`(

`id` INT NOT NULL AUTO_INCREMENT,

`title` VARCHAR(100) CHARACTER SET utf8 NULL,

)ENGINE=InnoDB DEFAULT CHARSET=gb2312;

-- 需要手动修改字段编码

ALTER TABLE `tablea` 

CHANGE COLUMN `title` `title` VARCHAR(100) CHARACTER SET 'gb2312' NULL DEFAULT NULL ;

4.当前数据库连接的编码

连接数时设置编码

// PDO 连接

$db = new PDO('mysql:host=myhost;dbname=test', 'login', 'password', 

array(PDO::MYSQL_ATTR_INIT_COMMAND = 'SET NAMES \'UTF8\'')

); 

// mysqli连接

$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "test");

mysqli_query($link,"SET NAMES 'utf8';");

通过以上几步操作,基本可以保证数据库使用过程中不会出现乱码


网页题目:php连接数据库utf8 PHP连接数据库实现登录界面
网页网址:http://cxhlcq.com/article/hjccdi.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部