php 存储中文字符到数据库时意外空白,未能成功保存的解决办法

来源:互联网 发布:软件结构图怎么画 编辑:程序博客网 时间:2024/05/17 23:18

存储 英文字符成功,但中文字符存储时却是空白,是由于事件文件domy.php的文本编码问题.通常通过记事本创建的脚本文件都会引起编码问题,所以 用开发工具还是必要的 

 

domy.php 

<?php

require_once("database.inc.php");
$record = array(
  'cid'   =>"1",
  'title'   =>"汉fgf字"

 );
$db->insert('tg_url',$record);
?>

 

 

database.inc.php

<?php
//数据库配置文件
header('Content-Type: text/html; charset=utf-8');
define ('DB_TYPE','mysql');
define ('DB_HOST','localhost');
define ('DB_USER','root');
define ('DB_PWD','*******');
define ('DB_NAME','*******');
define ('DB_CHARSET','utf8');
require_once("db_mysql.php");
$db = new db_mysql();
$db->connect(DB_HOST,DB_USER,DB_PWD,DB_NAME,DB_CHARSET);
?>

 

db_mysql.php


class db_mysql {
 public $debug = false;
 private $version = "";
 private $link_id = NULL;
 function __construct() {
  $this->debug = false;
 }
 function connect($dbhost, $dbuser, $dbpwd, $dbname = '', $dbcharset = 'utf8', $pconnect = 0) {
  if ($pconnect) {
   if (! $this->link_id = mysql_pconnect ( $dbhost, $dbuser, $dbpwd )) {
    $this->ErrorMsg ();
   }
  } else {
   if (! $this->link_id = mysql_connect ( $dbhost, $dbuser, $dbpwd, 1 )) {
    $this->ErrorMsg ();
   }
  }
  ...................  

 function insert($table, $field_values) {
  $field_names = $this->getCol ( 'DESC ' . $table );
  $fields = array ();
  $values = array ();
  foreach ( $field_names as $value ) {
   if (array_key_exists ( $value, $field_values ) == true) {
    $fields [] = $value;
    $values [] = "'" . $field_values [$value] . "'";
   }
  }
  if (! empty ( $fields )) {
   $sql = 'INSERT INTO ' . $table . ' (' . implode ( ', ', $fields ) . ') VALUES (' . implode ( ', ', $values ) . ')';
  }
  if ($sql) {
   $this->query ( $sql );
   return $this->getInsertId ();
  } else {
   return false;
  }
 }
 ................... 

 

}