
正文
php中数据库中文乱码 php 数据库
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php 保存到数据库的是中文乱码
首先php中数据库中文乱码你得保证php中数据库中文乱码你数据库php中数据库中文乱码的编码和前端操作页面php中数据库中文乱码,后端处理页面php中数据库中文乱码的的文件编码格式都为统一的utf-8 格式。或是中文编码。
相关问答
Q1: php mysql中文乱码怎么解决
解决方法:
网页文件head设置编码meta http-equiv=”Content-Type” content=”text/html;
charset=utf-8″
/
2.PHP页面在保存的时候使用utf-8编码保存,可以用记事本或convertz802转换文件
3.在MYSQL中新建数据库的时候数据库
选择UTF-8编码既字符集 设定为 utf-8_unicode_ci(Unicode (多语言), 不区分大小写),
库里面 表table的 整理 设置为
utf-8_general_ci
表里面的每个字段的 整理 都设置为
utf-8_general_ci
4.在PHP连接数据库的时候,也就是mysql_connect()之后加入如下代码:
//设置数据的字符集utf-8
mysql_query("set names 'utf8' ");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
注意是utf8,不是utf-8
Q2: php+mysql数据库中文连接乱码?set names utf8 也不行!
MySQL会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题php中数据库中文乱码,安装时使用的字符集是latin1
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题
正如您设定的一样,建议使用UTF8,可兼容一切字符。以下为解决办法:
一、避免创建数据库及表出现中文乱码和查看编码方法
1、创建数据库的时候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
2、建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
即建库和建表时都使用相同的编码格式。
但是如果php中数据库中文乱码你已经建php中数据库中文乱码了库和表可以通过以下方式进行查询。
执行SET NAMES utf8的效果等同于同时设定如下:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';
二、避免导入数据有中文乱码的问题
1:将数据编码格式保存为utf-8
设置默认编码为utf8:set names utf8;
设置数据库db_name默认为utf8:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
设置表tb_name默认编码为utf8:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
导入:LOAD DATA LOCAL INFILE 'C:\\utf8.txt' INTO TABLE yjdb;
2:将数据编码格式保存为ansi(即GBK或GB2312)
设置默认编码为gbk:set names gbk;
设置数据库db_name默认编码为gbk:
ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
设置表tb_name默认编码为gbk:
ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
导入:LOAD DATA LOCAL INFILE 'C:\\gbk.txt' INTO TABLE yjdb;
注:1.UTF8不要导入gbk,gbk不要导入UTF8;
2.dos下不支持UTF8的显示;
三、解决网页中乱码的问题
将网站编码设为 utf-8,这样可以兼容世界上所有字符。如果网站已经运作php中数据库中文乱码了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为 GBK, GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK。
1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
2.在编写Connection URL时,加上?useUnicode=truecharacterEncoding=utf-8参;
3.在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf8或者gbk。
希望对php中数据库中文乱码你有所帮助。
Q3: PHP读MYSQL中文乱码的快速解决方法
打算切换某个网站php中数据库中文乱码的主机php中数据库中文乱码,没想到遇到Php和Mysql中文乱码的问题。
以前的国外主机用的Mysql是4.x系列的php中数据库中文乱码,感觉还比较好php中数据库中文乱码,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET
NAMES
UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET
NAMES
GBK,代码如下php中数据库中文乱码:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass);
mysql_query("SET
NAMES
'GBK'");
以上就是小编为大家带来的PHP读MYSQL中文乱码的快速解决方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~
Q4: 在PHP页面显示数据库内容时 页面中文部分出现乱码
一般来说,乱码问题其实也就是编码不一致导致的。因此,要解决PHP中文乱码问题,解决步骤有如下几步:
1. 页面声明的编码 与 数据库内部编码 一致
比如: 你的网页里设置 charset = gb2312,然而,你的数据库使用utf-8,那么,如果不进行iconv转换的话,显示出来可能就有问题。
2. 页面文件的编码 与 页面声明的编码 一致
比如,你的网页文件为 test.php,该文件用 UTF-8B 格式保存,而如果你的网页里设置 charset = gb2312,那么可能显示也不正常。
从你的问题描述来看,“PHP中非数据库导出的部分 其中文显示正常 ”,据此可以确定页面文件编码与页面声明编码一致,那么,问题原因就在于:
页面声明的编码 与 数据库内部编码 不一致造成的。
你可以查看下,你的 数据库编码格式 与 网页定义的编码。
php中数据库中文乱码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php 数据库、php中数据库中文乱码的信息别忘了在本站进行查找喔。






