|
就只是用mysql 4.0.26能顯示。
用4.1以上的死活都顯示不了。頭大了。望大家指點(diǎn)指點(diǎn),感恩不盡。
我現(xiàn)在裝了mysql 5.0.22.
我把my.ini里的字符集都改成 gbk了,用status命令顯示,都是 gbk.然后我用source 命令導(dǎo)入sql文件,可是還不行。查詢(xún)前我用了set names gbk,set names utf8,set names latin1.什么都顯示亂碼。
用mysql -uroot -ppassword database<data.sql導(dǎo)入也一樣不行。
sql文件頭是這樣的。
-- 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' */;
/*
無(wú)語(yǔ)了。望各位指點(diǎn)。謝謝。
復(fù)制代碼 代碼如下:
完美解決方案:
1. 不管你用什么方法,導(dǎo)出SQL文本文件,確保EDITPLUS打開(kāi)看到的是中文。
2. 將該SQL文件的語(yǔ)句改成4.1的,刪除編碼設(shè)定的語(yǔ)句,然后保存。
3. 用命令行導(dǎo)入4.1數(shù)據(jù)庫(kù),記得,這個(gè)數(shù)據(jù)庫(kù)的編碼要設(shè)為GBK,建表的時(shí)候,會(huì)自動(dòng)指定為GBK
附命令:
mysql -hlocalhost -uroot -p**** database --default-character-set=gbk < database.sql
以后導(dǎo)出的時(shí)候,也要記得--default-character-set=gbk
寫(xiě)程序的時(shí)候,mysql詢(xún)前,一定要SET NAMES!
以上是我長(zhǎng)時(shí)間無(wú)數(shù)次失敗和測(cè)試積累下來(lái)的經(jīng)驗(yàn)。
php技術(shù):mysq GBKl亂碼,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。