mysq GBKl亂碼
更新時間:2006年11月28日 00:00:00 作者:
我現(xiàn)在有一個sql文件,里面內(nèi)容是gbk的。我現(xiàn)在顯示全是亂碼。
就只是用mysql 4.0.26能顯示。
用4.1以上的死活都顯示不了。頭大了。望大家指點指點,感恩不盡。
我現(xiàn)在裝了mysql 5.0.22.
我把my.ini里的字符集都改成 gbk了,用status命令顯示,都是 gbk.然后我用source 命令導(dǎo)入sql文件,可是還不行。查詢前我用了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' */;
/*
無語了。望各位指點。謝謝。
完美解決方案:
1. 不管你用什么方法,導(dǎo)出SQL文本文件,確保EDITPLUS打開看到的是中文。
2. 將該SQL文件的語句改成4.1的,刪除編碼設(shè)定的語句,然后保存。
3. 用命令行導(dǎo)入4.1數(shù)據(jù)庫,記得,這個數(shù)據(jù)庫的編碼要設(shè)為GBK,建表的時候,會自動指定為GBK
附命令:
mysql -hlocalhost -uroot -p**** database --default-character-set=gbk < database.sql
以后導(dǎo)出的時候,也要記得--default-character-set=gbk
寫程序的時候,mysql詢前,一定要SET NAMES!
以上是我長時間無數(shù)次失敗和測試積累下來的經(jīng)驗。
就只是用mysql 4.0.26能顯示。
用4.1以上的死活都顯示不了。頭大了。望大家指點指點,感恩不盡。
我現(xiàn)在裝了mysql 5.0.22.
我把my.ini里的字符集都改成 gbk了,用status命令顯示,都是 gbk.然后我用source 命令導(dǎo)入sql文件,可是還不行。查詢前我用了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' */;
/*
無語了。望各位指點。謝謝。
復(fù)制代碼 代碼如下:
完美解決方案:
1. 不管你用什么方法,導(dǎo)出SQL文本文件,確保EDITPLUS打開看到的是中文。
2. 將該SQL文件的語句改成4.1的,刪除編碼設(shè)定的語句,然后保存。
3. 用命令行導(dǎo)入4.1數(shù)據(jù)庫,記得,這個數(shù)據(jù)庫的編碼要設(shè)為GBK,建表的時候,會自動指定為GBK
附命令:
mysql -hlocalhost -uroot -p**** database --default-character-set=gbk < database.sql
以后導(dǎo)出的時候,也要記得--default-character-set=gbk
寫程序的時候,mysql詢前,一定要SET NAMES!
以上是我長時間無數(shù)次失敗和測試積累下來的經(jīng)驗。
相關(guān)文章
使用php來實現(xiàn)網(wǎng)絡(luò)服務(wù)
在調(diào)用網(wǎng)絡(luò)服務(wù)的過程中,需要兩個消息,發(fā)送的消息和接受的消息,又來有往方能來往不是。2009-09-09基于PHP實現(xiàn)解密或加密Cloudflar郵箱保護(hù)
這篇文章主要介紹了基于PHP實現(xiàn)解密Cloudflar郵箱保護(hù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06php實現(xiàn)QQ空間獲取當(dāng)前用戶的用戶名并生成圖片
這篇文章主要介紹了php實現(xiàn)QQ空間獲取當(dāng)前用戶的用戶名并生成圖片的方法,涉及php針對QQ空間及接口調(diào)用的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07PHP實現(xiàn)單例模式建立數(shù)據(jù)庫連接的方法分析
這篇文章主要介紹了PHP實現(xiàn)單例模式建立數(shù)據(jù)庫連接的方法,結(jié)合實例形式分析了PHP單例模式的概念、原理及使用單例模式實現(xiàn)數(shù)據(jù)庫連接的相關(guān)操作技巧,需要的朋友可以參考下2020-02-02php 實現(xiàn)進(jìn)制轉(zhuǎn)換(二進(jìn)制、八進(jìn)制、十六進(jìn)制)互相轉(zhuǎn)換實現(xiàn)代碼
php 實現(xiàn)進(jìn)制轉(zhuǎn)換(二進(jìn)制、八進(jìn)制、十六進(jìn)制)互相轉(zhuǎn)換實現(xiàn)代碼,需要的朋友可以參考下。2010-10-10用PHP即時捕捉PHP中的錯誤并發(fā)送email通知的實現(xiàn)代碼
這段代碼,其用意就是當(dāng)我們寫的php程式出錯的時候把錯誤內(nèi)容捕捉出來然后發(fā)到我們的email內(nèi),方便我們排錯2013-01-01