phpmysql中文(php sql)

发布时间:2022-11-14

本文目录一览:

  1. php读取mysql中文数据出现乱码的解决方法
  2. PHP mysql 如何将从数据中读入的中文乱码转换成中文字符?
  3. PHP的MySQL中,中文显示这样,应该怎样设置?

php读取mysql中文数据出现乱码的解决方法

  1. PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了 解决方法:选择UTF8或者gb2312,这样客户浏览器会自动选择并出现正确的中文显示。注意:UTF8或者gb2312都可以正确显示中文的。
  2. 数据库MySQL中的编码类型不正确。 解决方法:创建数据库的时候,MySQL字符集选择UTF8,MySQL连接校对选择utf8_general_ci,这样创建的数据库用来存储中文肯定没有问题,否则,你的中文首先在MySQL中就是乱码,更不要期望它会给你在PHP页面中显示正确。
  3. 与平时的脚本编辑环境有关。比如,有些内容是自己用word写的,有些是用记事本写的,有些用editplus、ultraplus等文本编辑器。有时候就直接在DW中写中文了, 解决方法:尽量用同一种编辑器。如果是拷贝来得既有的内容,建议用ultraplus中的编码转换功能把它转换成utf8或者gb2312。 到底转换成什么类型并不重要,关键要求你的PHP WEB应用程序中的编码要一致就行。
  4. 编程访问MySQL时,建议添加一行代码:mysql_query("SET NAMES 'GBK'");

PHP mysql 如何将从数据中读入的中文乱码转换成中文字符?

要解决乱码首先需要知道出现乱码的原因:

一、PHP+MySQL出现中文乱码的原因

  1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。
  2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码。
  3. PHP页面的字符集与数据库的编码不一致。
  4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。
  5. 用户提交的HTML页面编码,和显示数据的页面编码不一致,就肯定会造成PHP页面乱码。

二、解决中文乱码

  1. 网页编码设置。一般在HTML代码中的文件头html中加入属性:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
    保证网页是utf-8编码。
  2. PHP代码设置。在php代码的开始部分加入以下代码:
    header("Content-type: text/html;charset=utf-8");
    
    且要求保存的文件编码方式是utf-8,这样就保证了该文件也是utf-8编码。
  3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
  4. PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
    mysql_connect('localhost','user','password');
    mysql_select_db('db');
    mysql_query("set names utf8;"); // 设置字符集
    

PHP的MySQL中,中文显示这样,应该怎样设置?

  1. 首先把MySQL的服务停掉,在运行窗口输入:net stop mysql
  2. 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等…… 具体操作为:打开mysql安装目录下的my.ini; 找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用Ctrl+F定位在文件最前面输入default就会找到,都要改过来;
  3. 重启MySQL服务器,在运行窗口输入:net start mysql
  4. 最重要的一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了