Mysqldump i dodawanie SET NAMES
meer - 30-08-2007 00:01
Mysqldump i dodawanie SET NAMES
Witam grupowiczów,
Podczas wykonywania zrzutu bazy mysqldump usilnie dodaje do pliku linię:
/*!40101 SET NAMES utf8 */;
Przy czym w konfiguracji mysqldump wyłączyłem dodawanie SET NAMES:
## wycinek z my.cnf
[mysqldump] quick quote-names skip-set-charset max_allowed_packet = 16M
## koniec
Poza tym, default-character-set ustawione jest na latin2, dlatego tym bardziej nie wiem dlaczego w SET NAMES jest utf8.
Wygooglałem, że SET NAMES dodawane jest, jeśli w konfigu brakuje charsetu określonego wprost. Charset samej bazy jest oczywiście określony, także gdy dodam default-character-set do konfigu mysqlump to nic nie zmienia i wciąż mam dodawane SET NAMES utf8.
Jak to cholerstwo wywalić?
-- meer
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 30-08-2007 00:01
meer wrote: > Witam grupowiczów, > > Podczas wykonywania zrzutu bazy mysqldump usilnie dodaje do pliku linię: > > /*!40101 SET NAMES utf8 */; > > Jak to cholerstwo wywalić?
A czemu chcesz wywalić?
-- P.M.
meer - 30-08-2007 00:01
Paweł Matejski napisał(a): > A czemu chcesz wywalić?
Charset danych pochodzących z bazy to latin2. Import takiego dumpa kaszani polskie znaki.
-- meer
meer - 31-08-2007 00:13
Paweł Matejski napisał(a): > A czemu chcesz wywalić?
Masz pośrednio na myśli, że "niedasie"?
-- meer
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 31-08-2007 00:13
meer wrote: > Paweł Matejski napisał(a): >> A czemu chcesz wywalić? > > Masz pośrednio na myśli, że "niedasie"? >
Nie. Chodzi o to, że kodowanie bazy określa kodowanie znaków w plikach bazy. Kodowanie dumpa określa kodowanie znaków w pliku dumpa. A engine bazy, jeśli wie jakie są kodowania po obydwu stronach bez problemu robi konwersje "w locie", jeśli wie jakie jest kodowanie po której stronie. Używając --skip-set-charset pozbawiasz tej informacji engin podczas importu.
Twój problemem nie jest to, że pojawia się definicja kodowania w dumpie: a) masz poprawne kodowanie utf8 w dumpie, tylko narzędzia które używasz niepoprawnie wyświetlają utf8; jeśli wszystko masz dobrze skonfigurowane baza skonwertuje znaczki do latin2 przy imporcie i wszystko będzie działać. b) masz skopane kodowanie w bazie i przy konwersji robi się sieczka; musisz zmusić dumpa do użycia kodowania jakiego Ty chcesz - używaj raczej opcji w linii poleceń przy robieniu dumpa, a nie grzeb w pliku.
-- P.M.
Przemyslaw Popielarski - 31-08-2007 00:27
meer wrote: > ## wycinek z my.cnf > > [mysqldump] > quick > quote-names > skip-set-charset > max_allowed_packet = 16M > > ## koniec > > Poza tym, default-character-set ustawione jest na latin2, dlatego tym > bardziej nie wiem dlaczego w SET NAMES jest utf8.
Ja mam tak w my.cnf:
[mysqldump] default-character-set=latin2
(i to wszystko)
i mam wlasciwy set names :]
-- ../ premax ../ premax@hot.pl ../ koniec i bomba, a kto czytal ten traba. w.g.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
db2 alter table alter column set default
=?ISO-8859-2?Q?Oracle_dodawanie_nowego_pakietu_wbudowane?==?I SO-8859-2?Q?go_dla_u=BFytkownika?=
[MySQL] Mysqldump i tabele o =?ISO-8859-2?Q?okre=B6lonych_prze?==?ISO-8859-2?Q?drostkach?=
[Sprzedam] Konto w dodawarce adder, 13,5tys katalogów i for!
[DB2/Websphere]: JDBC - result set closed
MySQL czy da sie zmienic CHARACTER SET bazy danych?
dane automatycznie dodawane do tabeli. auto_increment
Dziwne znaki przy dodawaniu wierszy w postgresql
UPDATE tabname SET * = ? - Oracle vs Informix
[Sprzedam]Dodawarka do katalogów qlweb TANIO
zanotowane.pldoc.pisz.plpdf.pisz.plfantazia.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|