2 qq 19089455 qq_19089455 于 2016.01.29 16:53 提问

php取mysql,上传到服务器后,显示中文为乱码
php

数据表是utf8_general_ci编码,字段值
首页宽幅幻灯片
对应的是
首页宽幅幻灯片

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
...
//mysql_query( "SET NAMES UTF8" );

$result = mysql_query( "SELECT name FROM info_category LIMIT 1" );
if ( $result )
{
    while( $row = mysql_fetch_array($result) )
    {
        echo "<br>". $row['name'];
    }
}

我在开发机器上安装XAMPP,调试显示是正确的。上传到服务器上运行,从数据库取来的中文就显示成乱码了。

同样的测试代码文件,显示结果却不一样,怎么办?

我检查了数据库编码,尝试set names,在服务器上都不行。服务器操作系统是linux,开发机是windows,和操作系统没关系吧。

5个回答

jhfsdfs
jhfsdfs   2016.01.29 18:01
已采纳

建数据库的时候,数据库表,都要设置字符集为 UTF-8

oyljerry
oyljerry   Ds   Rxr 2016.01.29 17:14

把字符先用utf8编码,然后再存入数据库,数据库中读取的时候,也是从utf8解码回

xianbu
xianbu   2016.01.29 18:19

你在本地测试的时候,是连的linux上的数据库还是本地的数据库

qq_33733970
qq_33733970   2016.01.29 21:04

gbk格式差不多够用了!

qq_19089455
qq_19089455   2016.01.30 17:39

谢谢回答。MYSQL数据库默认编码不是UTF8。搞了半天。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于数据上传到php服务器乱码的问题
数据上传到服务器会产生乱码(一般都是中文乱码)的原因和解决方案,以及原理
代码上传服务器后页面交互时数据存入数据库乱码问题
当写入数据到mysql数据库中发生乱码时.请检查以下几个地方.   1.tomcat服务器的配置文件,具体目录在Tomcat安装目录/conf/server.xml文件:     2.eclipse工作空间: 在首选项->General -> Workspace->设置UTF-8   3.jsp文件的编码格式:   4.数据连接配置文件.如果是.properties文件
服务器端中文显示正常,浏览器显示乱码解决办法
在之前的项目凡是编码都设置为UTF-8,但是这个项目时我接手的二手项目,不知道项目的编码具体是怎么用的。所以呢,一测试就乱码,乱码我先想到的是这个中文字符采用的是什么编码呢?在网上找了一段这样的逻辑(也不知道对不对,因为我最终的解决方法没有用上)把代码贴出给大家看看吧! public static String getEncoding(String str) { String encod
网页上传到服务器中文乱码问题
在本地localhost运行的很好的代码文件,上传到linux服务器上经常会出现中文问题,解决方法:将代码格式保存为"utf-8无BOM格式"(最好是新建一个utf-8无BOM格式文件,将代码复制进去) 说明:bom头是windows为了识别utf8而在文件头增加的几个字符。。linux服务器下会出现问题。一般程序开发都采用无bom头,emlog核心代码是无bom头的,也要求插件和模板采
php`mysql 商城系统
这是一个上传到服务器上后即可安装的简易的商城系统,使用php和mysql编写而成的
阿里云 ECS Linux 服务器中文乱码如何解决?
Linux环境的ECS中,若出现如下中文显示为乱码的情况。 一般原因如下:  1. 未安装中文语言包 2. 未设置正确的默认语言 3. SSH 终端未正确配置   本文以Centos 6.5为例,演示如何解决中文乱码问题。 1. 使用 locale -a |grep zh_CN查看系统是否已经安装了中文语言包 若没有,
PHP连接MySQL查询结果中文显示乱码问题
我们首先假设数据库中采用的编码为UTF-8 这时我们在PHP页面中应当首先添加 此处charset的值utf-8必须与文件保存时的编码类型一样 之后在数据库查询前添加 mysql_query("set names 'utf8'"); 该行语句的编码值也应当与上面的编码值一样。 总而言之,网页保存的编码类型、网页的charset=utf-8、和执行的set n
PHP使用之上传文件到本地服务器(实现上传文件后页面内容不动、解决上传文件命名乱码后缀问题)
因为有上传文件到服务器的业务需求,我在Mac下先尝试搭建本地服务器 这里我使用XAMPP for Mac的软件来搭建本地服务器 具体实现见:http://blog.csdn.net/yxys01/article/details/52183975一、启动服务器 安装好后,我们开始启动Apache服务器 这里我们点击Start All,然后Apache Web Server后面的Status
页面传输中文到服务器乱码,页面显示乱码
1.问题描述: 表单提交中文乱码问题,怎么解决 2.原因 当表单传输到服务器上时,服务器会将传输的数据进行编码(iso-8859-1),然后当我们从服务器上面取数据的时候,就会出现乱码 3.解决的方式: 第一种:对get/post都有效    例如在servlet中:可以先将得到的乱码字符串先进行ISO-8859-1进行编码,然后在用UTF-8解码: String username2
解决PHP上传文件中文乱码问题
问题描述:项目组在使用WSS(White Shark System)官方网站过程中,发现当上传中文文档时,在点击下载时无法下载(显示404NotFound),从显示的URI上可以很明显的看出是由于乱码。具体信息描述: 服务器:centos+apache+php+mysql 客户端:Windows解决过程:由于我在本机上也搭载着一套WSS系统,我尝试了文件上传,没有任何问题。所以我猜想是由于win