PHP连接远程MYSQL和MYSQL5.1中文乱码处理方法

作者:网络 来源:佚名 更新时间:2008-12-06 03:39:08 点击:

本文描述了我在开发我的blog的过程中所遇到的一些问题以及解决他们的方法。因为本网站采用的是一个免费的远程mysql数据库db4free.net,而且这个数据库是5.1的版本,所以在开发过程中出现了许多问题。故在此发表,以便大家参考。

一、连接远程数据库的方法

对于php连接远程mysql数据库,通常要使用如下的语句:

以下为引用的内容:
    var $servername     = 'db4free.net:3306';//数据库服务器
    var $dbname         = 'dbname';//数据库名
    var $dbusername     = 'username';//用户名
    var $dbpassword     = '123';//登陆密码
    mysql_connect($servername,$dbusername ,$dbpassword);
    mysql_select_db($dbname);

二、解决中文显示乱码的问题

从mysql 4.1开始引入多语言的支持,但是用php插入的中文会出现乱码.无论用什么编码也不行。特别是对于这个5.1版本的mysql数据,他在中文的问题上使用较为麻烦。其解决方法如下:

1、在建表的时候设置编码类型为gb2312_chinese_ci.

2、在php页面的数据库连接语句加一行mysql_query("set names 'gb2312'",$link); 例如

以下为引用的内容:
    $db_host="localhost";
      $db_user="root";
      $db_password="password";
      $db_name="test";
      $link=mysql_connect($db_host,$db_user,$db_password);
      mysql_query("set names 'gb2312'",$link);
      $db=mysql_select_db($db_name,$link);

这样在mysql里面的中文就能正常显示了。也可以用下面这句话:

mysql_query("set names 'gb2312'");