Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » ReMoS 21:17
 » MARtiuS 21:17
 » Sherif 21:10
 » leon 21:10
 » Hitman 21:09
 » kemilk 21:08
 » Kenny 21:07
 » DJopek 21:01
 » ToM78 20:59
 » zibi13 20:58
 » matali 20:57
 » Kelso1 20:55
 » Wedrowiec 20:45
 » JE Jacaw 20:42
 » piwo1 20:41
 » wrrr 20:39
 » rkowalcz 20:38
 » adolphik 20:33
 » burz 20:32
 » kombajn4 20:28

 Dzisiaj przeczytano
 36901 postów,
 wczoraj 25433

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

[Linux/MySQL] Problem z importem danych - literki z latin2 zamieniaja sie w '?' , Grocal 12/05/07 15:56
Mamy serwer MySQL 5.0.22 postawiony na linuksowej maszynie. Mamy tez dostep przez ssh (shell) do serwera www korzystajacego z tej bazy danych (ale nie mamy dostepu do konfiguracji serwera - wykupiony hosting w UK). Mamy tez pliczek z zapytaniami sql (inserty do bazym okolo 50MB) w kodowaniu Latin2 (ISO-8859-2). Baza jest juz stworzona a jej charset jest ustawiony na latin2_general_ci. Zadanie: zaimportowac dane z zapytan SQL do stworzonej juz w systemie bazy danych.

Normalnie cos takiego powinno zalatwic sprawe:

mysql -unazwa_usera -phaslo --default-character-set=latin2 nazwa_bazy < plik_z_zapytaniami.sql

ale niestety tak nie jest. Wszystkie literki inne niz w kodowaniu latin1 zamieniaja sie w znaki zapytania.

Gdzie jeszcze musze cos zmienic, aby import mi zaskoczyl. Zmienne systemowe LANG, LANGUAGE i LC_CTYPE ustawilem na pl_PL.ISO-8859-2. Rece mi juz opadaja. Najpierw nie moglem wyeksportowac tej bazy danych (z innego serwera) a teraz slecze juz od rana nad importem! WTF?

Z gory dzieki za jakakolwiek pomoc...

Na pewno, na razie, w ogóle...
Naprawdę, naprzeciwko, stąd...
Ortografia nie gryzie!

  1. może pomoże ale to tylko strzał;) , Wedrowiec 12/05/07 16:15
    wywołaj wcześniej zapytanie:
    SET NAMES 'latin2'

    "Widziałem podręczniki
    Gdzie jest czarno na białym
    Że jesteście po**bani"

    1. dzieki , Grocal 12/05/07 18:19
      Poszlo! Wirtualne piwko [~]D

      I to jest pomrocznosc jasna. Jak robilem klase do obslugi mysql, to kurcze pamietalem o tym glupim set names, ale jak sie robi import, to juz nie :) Od czasow 4.1 po prostu klne na czym swiat stoi na tego mysqla. Ech... tak to jest jak nagle developerom wpadnie do glowy rewolucja.

      Dzieki Wedrowiec! Nie ma to jak Bialystok ;)

      Na pewno, na razie, w ogóle...
      Naprawdę, naprzeciwko, stąd...
      Ortografia nie gryzie!

  2. a nie jest przypadkiem , celt 12/05/07 18:10
    tak, że pliki z insertami zostały zrobione pod Windows? Co powoduje że są kodowane NIE w latin2 ale w win-1250 i stąd te krzaki?. Sprawdź to jakimś programem np. gżegżółka.

    Everything should be made as simple as
    possible, but no simpler

    1. przy okazji odpowiem , Grocal 12/05/07 18:21
      Heh... Pliki byly kodowane ISO-8859-2 (i to na dwa sposoby z UTF-8 przy pomocy Gzegzolki i iconv).. az taki glupi to nie jestem :)

      Za to glupi jestem wierzac, ze --default-charset-set=latin2 rozwiaze sprawe. Oj nie! SET NAMES.. Chyba to sobie wydziergam na ramieniu :)

      Dzieki wszystkim!

      Na pewno, na razie, w ogóle...
      Naprawdę, naprzeciwko, stąd...
      Ortografia nie gryzie!

    2. jeszcze dodam , celt 12/05/07 18:26
      tak dla pewności żeby nie było :)
      1. sprawdź kodowanie bazy, z linii poleceń komendą
      show create database <nazwa_bazy>;
      2. sprawdź czy w/w kodowanie dla bazy jest takie samo jak dla tabel
      czyli: charset i collation
      [ z linii poleceń komenda: show create table <nazwa_bazy>.<nazwa_tablicy>
      U mnie przykładowo 1. utf8 ____ 2. utf8 i utf8_general_ci
      u ciebie odpowiednio powinno być 1. latin2 ___ 2. latni2 i latin2_general_ci
      Jeżeli są różnice to BĘDĄ krzaki!
      3. czy ładowane pliki są w kodowaniu latin2 ?
      4. dochodzi jeszcze pytanie gdzie pojawiają się krzaki - bo jeżeli pod przeglądarka to może tam jest coś nie tak z kodowaniem.

      5. tu link który może ciebie na coś naprowadzi :)
      http://twojepc.pl/...iwum.php?r=2006&id=108696

      Everything should be made as simple as
      possible, but no simpler

      1. no to , celt 12/05/07 18:30
        się spóźniłem - bo próbowałem to do kupy jakoś zebrać ;)

        Everything should be made as simple as
        possible, but no simpler

  3. unicode , RusH 12/05/07 19:49
    na przyszlosc nauczyc sie uzywac unicode

    I fix shit
    http://raszpl.blogspot.com/

    1. nie ode mnie to zalezy , Grocal 12/05/07 22:18
      ...serwis jest napisany w ISO-8859-2, dane w bazie rowniez musza (i byly w przypadku poprzedniego miejsca z ktorego je pobieralem) w ISO-8859-2. Dla mnie oczywiscie najlepiej by bylo, gdyby i serwis i dane i wszystko dookola bylo w UTF-8 lecz niestety na razie nie mam na to wplywu.

      Na pewno, na razie, w ogóle...
      Naprawdę, naprzeciwko, stąd...
      Ortografia nie gryzie!

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL