php数据库数据输出乱码 php设置数据库编码

php 数据库 导出excel 的时候 导出成功 但是却是乱码 请问怎么解决?

你指定的PHPExcel生成的是xls格式的文件。是一种电子表格格式,这种格式一般是用excel打开处理的。直接用文本方式显示就是乱码的。但为什么是直接输出这些乱而不是下载呢?是因为你没有给输出指定头信息告诉浏览器输出的内容不是直接显示而是供下载的,浏览器所以浏览器也不懂,它只好老老实实给输出来。你试着在上面那段代码前加上如下内容:

创新互联建站专注于阜阳企业网站建设,成都响应式网站建设公司,商城网站开发。阜阳网站建设公司,为阜阳等地区提供建站服务。全流程按需制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

header("Cache-Control: public");

header("Pragma: public");

header("Content-Type: application/force-download");

header("Content-Type: application/octet-stream");

header("Content-Type:application/download");

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=你自己指定或生成文件名.xls");

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

用PHP从数据库中取出的中文是乱码,怎么处理能使中文正常显示?

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。

事实上MYSQL配置文件my.ini中定义了2个默认编码,分别是[client]里的default-character-set和[mysqld]里的default-character-set来分别设定默认时候客户端连接和数据库内部所采用的编码。上面指定的编码其实是MYSQL客户端连接服务器时候的命令行参数character_set_client,来告诉MYSQL服务器接受到的客户端数据是什么编码的,而不是采用默认编码。

转自:

php数据库显示乱码~~~怎么办~~~

这个可能是你在安装环境的时候出现了问题,在安装mysql的时候,数据库默认的不是gb2312,是西欧字符,建议你重新安装数据库,或是使用wampsever集成安装环境,默认数据库是utf8的,只要你建的数据库整理为utf8

网页文件也保存为utf8的

(不要bom头的那种)以后写php就很少出现问题啦。要是在php文件的最上面一行再加上这么一句代码,?php

header("Content-Type:text/html;

charset=utf-8");?,那出现问题的几率就更小了。


网站栏目:php数据库数据输出乱码 php设置数据库编码
标题路径:http://scyanting.com/article/doijiic.html