首先是程序方面没有错误。我在本地测试好的
安装的是Appserv,mysql5.2.3,我的数据库是用Navicat8建立的,表的编码全是gb2312
然后有下面的情况================================================================================
我把程序放在A主机上,数据库也是放在A主机上,运行起来没问题
数据库用Navicat8这个软件上传的,上传时用软件默认的65001 (UTF-8)。上传过程中没问题
================================================================================
然后再把程序放在B主机上,数据库还是放在A主机上,运行起来也没问题
================================================================================
接着程度放在B主机上没变,数据库换到了B主机上,运行起来也没问题
上传数据库是用B主机商上面的phpmyadmin来运行mysql文件的,上传过程也没问题
================================================================================
最后要给客户的时候,我用客户的主机C,数据库我放到A主机上,连接的时候出现这样的错误 
Client does not support authentication protocol requested by server
我上网查了一下,说得不太清楚,我看不明白要怎么解决
然后我打算把数据库也放到客户的C主机上,用Navicat8上传的时候,编码用Default或65000 (UTF-7)都会出现错误:
[Err] 1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=gb2312' at line 6
客房的主机是万网的,大概是版本的问题,请问如可解决?

解决方案 »

  1.   


    我郁闷,我进入万网的控制面版看了一下
    php是4.4.9,而MySQL客户选择的是4.0而我的空间mysq应该是5的,程序在万网的运行来连接我空间的mysql难怪会出错
      

  2.   


    mysql 服务器上的MYSQL版本是什么?
      

  3.   


    检查一下服务器上的MYSQL版本,估计是版本的原因。
      

  4.   

    Improved support for character set handling was added to MySQL in version 4.1. This support enables you to store data using a variety of character sets and perform comparisons according to a variety of collations. You can specify character sets at the server, database, table, and column level. MySQL supports the use of character sets for the MyISAM, MEMORY, and (as of MySQL 4.1.2) InnoDB storage engines. The ISAM storage engine does not include character set support; there are no plans to change this, because ISAM is deprecated. 4.1 之后支持 字符集
      

  5.   

    果然是版本问题啊
    我把一些导出的SQL中的关键词去掉或改掉就可以导入了