登录
首页 >  数据库 >  MySQL

PHP页面显示乱码处理(数据库、html页面、服务器php页面编码)

来源:SegmentFault

时间:2023-01-13 14:31:19 410浏览 收藏

本篇文章给大家分享《PHP页面显示乱码处理(数据库、html页面、服务器php页面编码)》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。

1、MySQL数据库编码:建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。
数据库连接时,也有编码,可以在连接完数据库后,执行

mysql_query('SET NAMES gbk');

完整连接数据库,并插入一条记录的示例:

<?php // 1.连接数据库
  $conn = mysql_connect('127.0.0.1:3306', 'root', '518666');
  if (!$conn)
  {
    die("Could not connect:" . mysql_error());
  }

  // 2.选择数据库
  mysql_select_db('mytest', $conn);


  // 3.设置编码,注意这里是utf8而不是utf-8,如果写后者,MySQL不会识别的,会出现乱码的。
  mysql_query("SET NAMES utf8");

  $title = "我们的爱情";
  $content = '你是谁啊,大几都做做没';
  $add_time = date("Y-m-d H:i:s");

  // 转义字符
  // $pwd = mysql_real_escape_string($pwd);

  // 4.插入一条数据
  $insert_sql = "insert into post_tbl (title, content, user_id, add_time) values ('{$title}', '{$content}', '4742551', '{$add_time}')";

  if(mysql_query($insert_sql))
  {
    echo 'ok';

  }
  else
  {
    echo "Error : " . mysql_error();
  }

 $ret = mysql_affected_rows();
  print_r($ret);
/*
// 5.查询一条数据
  $insert_sql = "select * from posts limit 1";

  $result = mysql_query($insert_sql);

  while($row = mysql_fetch_array($result))
  {
     print_r($row);
  }
*/

  // 关闭数据库连接
  mysql_close($conn);

注意:1.这个示例的数据库,表,php文件都是utf8编码。
注意:2.这里是utf8而不是utf-8,如果写后者,MySQL不会识别的,还会出现乱码的。

2、html页面的编码,指的是这一行的设置:

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

3、PHP或html文件本身的编码:用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

4、另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。
将"你好"从GBK转换到UTF-8格式

iconv("gbk","utf-8","你好");

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:

header('Content-type: text/html; charset=gbk');

今天关于《PHP页面显示乱码处理(数据库、html页面、服务器php页面编码)》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>