我有我的mysql數據庫這種表:問題導出,導入表
CREATE TABLE `users` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`surname` VARCHAR(255) NOT NULL,
`nickname` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`mail` VARCHAR(255) NOT NULL,
`country` VARCHAR(255) NOT NULL,
`birthday` VARCHAR(255) NOT NULL DEFAULT '0000-00-00',
`accessres` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
`admin` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
`datereg` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`forum_ban` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
`last_access` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=209
怎麼可以看到,整理是utf8_general_ci。問題是當我使用HeidiSQL(6.0)-phpMYADMIN導出這個表時。
例如,如果我有像Krüger
這樣的數據,它會導出爲導入爲Krüger
! 我的整個應用程序在utf8
,等等DB Krüger
真的寫成Krüger
。
所以有一些錯誤的出口。我能做什麼?我認爲問題是phpMyAdmin,因爲如果我嘗試在HeidiSQL上再次導入表格,則文本是正確的。
據我所知選擇時HeidiSQL做了適當的處理UFT8。你是如何驗證出口的?是否有可能你正在查看導出的程序無法應對utf8?如果使用較舊的軟件查看此類導出,則可能會顯示一個合適的編碼特殊字符,例如您提供的示例。 – Bjoern 2011-05-20 11:06:13
我正在使用Scite Text Editor ...!事實上,如果我再次在HeidiSQL上導入,字符串是正確的:O – markzzz 2011-05-20 11:11:24
再次...您是如何驗證導出的?在utf8中,德文'ü'實際上被編碼爲'C3 BC',這將被不支持utf8的觀衆(或未被配置爲將其顯示爲utf8!的觀衆)解釋爲'Ã''。如果你的導出在這個位置顯示'C3 BC'(嘗試使用HEX編輯器),導出不會被破壞,但是其他的東西是。 – Bjoern 2011-05-20 11:12:41