mysqGBKl乱码_php技巧
                        
                            时间:2021-07-01 10:21:17
                            帮助过:7人阅读
							                        
                     
                    
                    我现在有一个sql文件,里面内容是gbk的。我现在显示全是乱码。 
就只是用mysql 4.0.26能显示。 
用4.1以上的死活都显示不了。头大了。望大家指点指点,感恩不尽。 
我现在装了mysql 5.0.22. 
我把my.ini里的字符集都改成 gbk了,用status命令显示,都是 gbk.然后我用source 命令导入sql文件,可是还不行。查询前我用了set names gbk,set names utf8,set names latin1.什么都显示乱码。  
用mysql -uroot -ppassword databasesql文件头是这样的。 
-- MySQL dump 10.10 
-- 
-- Host: localhost    Database: system 
-- ------------------------------------------------------ 
-- Server version        5.0.22-community-nt 
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; 
/*!40103 SET TIME_ZONE='+00:00' */; 
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
/* 
无语了。望各位指点。谢谢。
 代码如下:
完美解决方案: 
1. 不管你用什么方法,导出SQL文本文件,确保EDITPLUS打开看到的是中文。 
2. 将该SQL文件的语句改成4.1的,删除编码设定的语句,然后保存。 
3. 用命令行导入4.1数据库,记得,这个数据库的编码要设为GBK,建表的时候,会自动指定为GBK 
附命令: 
mysql -hlocalhost -uroot -p**** database --default-character-set=gbk < database.sql 
以后导出的时候,也要记得--default-character-set=gbk  
写程序的时候,mysql询前,一定要SET NAMES! 
以上是我长时间无数次失败和测试积累下来的经验。