用php向mysql中插入中文汉字,数据库中显示乱码,但用php页面读取时是正常的汉字。百度的方法都不行,急

我用的是阿里的虚拟主机,免费两年的那种。mysql数据库都是阿里预先配置好了的。

文件编码必须是utf-8
设置编码utf8不要加引号
mysql_query('set names utf8');就可以了追问

不加引号的也试过了,上传后还是乱码

追答

文件编码呢?另存为

追问

文件编码是utf-8的,我用的notepad++,
notepad++默认就是“以 UTF-8 无 DOM 格式编码”的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-08
2.php 文件是否是utf-8格式追问

是的,notepad++中,默认就是“以 UTF-8 无 DOM 格式编码”

追答

不对,数据库本身应该无问题。应该是你读取数据库的程序问题,程序用的不是utf-8编码读取的,导致出现乱码

追问

把 把2.php 改成 ansi ,插入后数据库中显示正常了。

但是用3.php读取出来显示乱码(这种样式的乱码����)。
把3.php也改为 ansi,就能够正常读取了。
但我还有两个疑问:
1、你方才说的“或者将字符串转换成gbk”,这个具体怎么写?

2、我网站其他的html、js文件,都是用的utf-8,是不是也都要统一改为ansi呢?如果我都用了ansi,会不会影响其他语言的用户浏览?

追答

不用改了,刚才弄错了,数据库本身应该无问题。应该是你读取数据库的程序问题,程序用的不是utf-8编码读取的,导致出现乱码

追问

大神,太膜拜了,留个企鹅让我加一下呗。

追答

2.7.0.5.8.1.7.0.4

本回答被提问者采纳

用php将中文写入mysql,在phpmyadmin中查看显示为乱码,求解决方法!!
在命令行添加的时候,如果是Windows系统,默认是GBK的,所以你先在命令行里面执行一句 set names utf8;再添加,这样,在phpmyadmin中看就不是乱码了。多学点编码的知识。

PHP与Mysql连接后,中文汉字乱码怎么解决
第一种方法是下载 解决Windows XP SP2乱码补丁 V1.00 (华军软件园)第二种是解决Windows系统错误造成的乱码问题,重启后用F8键激活系统菜单,进入安全模式。等系统检查完毕,硬盘没有响应后再重新正常退出并重新启动计算机,正常进入Windows,字体一般就能自动恢复。这是因为Windows在进入安全模式时会重...

PHP读MYSQL中文乱码的快速解决方法
只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:mysql_mylink = mysql_connect($mysql_host,mysql_user,mysql_pass);mysql_query("SET NAMES 'GBK'");以上就是小编为大家带来的PHP读...

mysql添加数据中文内容被过滤掉了? - 技术问答
现在是用mysql_query(\\"set names gb2312\\");能添加中文了,可是显示出来还是乱码我用mysql_query(\\"set names UTF8\\");不行啊,怎么解决,数据库里看下中文没有乱码的510flash 发表于 2009-8-7 20:14[i][\/url][\/b]问题解决了??原来我把mysql_query(\\"set names gb2312\\")放到查询数据...

php+mysql数据库中文连接乱码?set names utf8 也不行!
导入:LOAD DATA LOCAL INFILE 'C:\\\\gbk.txt' INTO TABLE yjdb;注:1.UTF8不要导入gbk,gbk不要导入UTF8;2.dos下不支持UTF8的显示;三、解决网页中乱码的问题 将网站编码设为 utf-8,这样可以兼容世界上所有字符。如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面...

PHP插入MYSQL数据库中文变成乱码 问号
去MYSQL里面设置,不要在PHP里设置MYSQL的编码,乱码肯定就是编码问题无疑,推荐你先把MYSQL里面表的编码改好,然后再把PHP的编码改好,这样就应该没问题了。

在PHP中修改的中文数据 在数据库里显示乱码
可能需要修改数据库的配置 一般情况下我们在设计数据库的时候都会事先确定好要如果是phpAdmin,可以在phpAdmin主页更改Language为简体中文。如果是CMD,修改

关于PHP中MySQL开发UTF8数据库的中文输入乱码的问题,求解!在线求解!急...
如果你页面显示乱码的话,首先确保数据库内的数据不乱码,然后在你网页上加入下列代码:在HTML网页文件的head中间加入: 在PHP网页文件的最前端加上:header('Content-Type:text\/html;charset=utf-8');由于篇幅有限无法细说:你可以参考一下这里:http:\/\/www.e-du8.com\/thread-238-1-1.html 和http...

mysql数据库中存进的是中文,为什么查出来的乱码?
二、客户端乱码表数据正常,但是客户端展示后出现乱码。这一类场景,指的是从 MySQL 表里拿数据出来返回到客户端,MySQL 里的数据本身没有问题。客户端发送请求到 MySQL,表的编码为 D,从 MySQL 拿到记录结果传输到客户端,此时记录编码为 E(CHARACTER_SET_RESULTS)。那以上编码 E 和 D 如果不兼容...

用PHP从数据库中取出的中文是乱码,怎么处理能使中文正常显示?
数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的...

相似回答