本文目录一览:
- PHP mysql 如何将从数据中读入的中文乱码转换成中文字符?
- php向mysql写入数据中文显示怎么解决
- 用PHP向mysql数据库中写入中文汉字为什么显示不出来?我已经设置成gb2312了
- 用php向mysql中插入中文汉字,数据库中显示乱码,但用php页面读取时是正常的汉字。百度的方法都不行,急
- 求大神解决PHP录入MySQL中的汉字是乱码!本人已经试过网上无数的方法,无奈乱码依旧!
- PHP的MySQL中,中文显示这样,应该怎样设置?
PHP mysql 如何将从数据中读入的中文乱码转换成中文字符?
要解决乱码首先需要知道出现乱码的原因:
一、PHP+MySQL出现中文乱码的原因。
- MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。
- 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码.
- PHP页面的字符集与数据库的编码不一致。
- PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。
- 用户提交的HTML页面编码,和显示数据的页面编码不一致 ,就肯定会造成PHP页面乱码.
二、解决中文乱码:
- 网页编码设置。一般在HTML代码中的文件头html中加入属性:
保证网页是"utf-8"编码。<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- PHP代码设置。在php代码的开始部分加入以下代码:
且要求保存的文件编码方式是utf-8,这样就保证了该文件也是utf-8编码。header("Content-type: text/html;charset=utf-8");
- 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
- PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
mysql_connect('localhost','user','password'); mysql_select_db('db'); mysql_query("set names utf8;"); // 设置字符集
php向mysql写入数据中文显示怎么解决
先检查MYSQL数据库的编码格式,那我们先找到MYSQL数据的安装目录,找到my.ini文件: 打开my.ini文件:找到default-character-set,把它设置为utf8,一共要设置2个地方 然后在重启MYSQL数据,找到服务里面 然后在设置我们网页的编码格式,设置为UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
在PHP文件中设置,设置为utf8
mysql_query("set names 'utf8'");
用PHP向mysql数据库中写入中文汉字为什么显示不出来?我已经设置成gb2312了
PHP与数据库的编码应一致
- 修改mysql配置文件my.ini或my.cnf,mysql最好用utf8编码
在[mysqld]下加入:[mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 default-storage-engine=MyISAM
default-collation=utf8_bin init_connect='SET NAMES utf8'
- 在需要做数据库操作的php程序前加
mysql_query("set names '编码'");
,编码和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了
用php向mysql中插入中文汉字,数据库中显示乱码,但用php页面读取时是正常的汉字。百度的方法都不行,急
文件编码必须是utf-8 设置编码utf8不要加引号
mysql_query('set names utf8');
就可以了
求大神解决PHP录入MySQL中的汉字是乱码!本人已经试过网上无数的方法,无奈乱码依旧!
以下几步:
- 修改mysql的my.ini文件,
default-character-set=编码
- 建库时注意你所选择的编码集
- 看看你的库结构是不是你想要的编码集
- 建表时设定你的编码
- 插入的时候先设置
set names utf8;
- mysql连接字符串url后加上编码就行啦,就像这样:
jdbc:mysql://192.168.1.111:3306/test?useUnicode=true&characterEncoding=gb2312
以上都看完不行,建议重装mysql,因为mysql默认的latin1。安装时如果不进行选择,默认的是拉丁语,无法识别中文!
PHP的MySQL中,中文显示这样,应该怎样设置?
① 首先把MySQL的服务停掉,在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的my.ini文件;
找到default-character-set
,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set
,用Ctrl+F
定位在文件最前面输入default
就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了