![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 320 Pomógł: 2 Dołączył: 17.03.2006 Skąd: Siemianowice Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam takie pytanko odnośnie kodowania plików. Temat już wałkowany nie raz ale ten przypadek jest prawdopodobnie dosyć często spotykany, a nie udało mi się znaleźć nigdzie rozwiązania działającego od A do Z dobrze...
A więc mam plik bazy danych, nazwijmy go baza.sql zapisany w notatniku czyli z windowsowym kodowaniem ANSI lub UTF-8. Żeby było trudniej to ma on np. 17mb więc import przez phpMyAdmina odpada... Tworzę bazę na serwerze z kodowaniem UTF-8 i metodą porównywania napisów utf8_polish_ci Tworzę tabele danych przez phpMyAdmina poleceniem:
I teraz wykorzystuję polecenie z konsoli aby zaimportować plik bazy do tabeli czyli: mysql -h adres_serwera -u uzytkownik -p nazwa_bazy < baza.sql Baza ładnie się importuje ale niestety okazuje się że zamiast polskich znaków mamy krzaki... Teoretycznie można zrobić odpowiednie połączenie z bazą, np. ale to jest dobre na krótką metę... Co jeśli zrobimy na stronie wyszukiwarkę i użytkownik wpisze słowo np. "łyżeczka". Jak porównać te słowo z tymi krzakami w bazie? Prawdopodobnie jest gdzieś błąd na etapie importu bazy czy też zapisywania plików z odpowiednim kodowaniem... Ale niestety próbowałem już na różne sposoby a krzaki jak są tak są:/ Jeśli ktoś wie jak sobie z tym poradzić na działającym przykładzie to proszę o jakąś podpowiedź. Pozdrawiam, Łukasz. Ten post edytował lukash82 18.09.2009, 09:51:17 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A czytałeś tematy o polskich znakach?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 320 Pomógł: 2 Dołączył: 17.03.2006 Skąd: Siemianowice Ostrzeżenie: (0%) ![]() ![]() |
Tak, czytałem tematy o polskich znakach...
Ale co z tego że nie działa to w moim przypadku... Przekonwertowałem pliki gżegżółką do utf8, iso8859-2, win-1250. Stworzyłem bazy z takimi kodowaniami. I dalej mam krzaki w bazie... Może ktoś z Was ma na to sprawdzony sposób... Pozdrawiam, Ł |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A próbowałeś dać set names utf8 na początku pliku zrzutu i wtedy go zaimportować?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 320 Pomógł: 2 Dołączył: 17.03.2006 Skąd: Siemianowice Ostrzeżenie: (0%) ![]() ![]() |
Witam, sprawa wygląda tak, że w bazie już są krzaki i nie mam innego źródła żeby to wyeksportować z innego miejsca... Baza ma kodowanie utf8_polish_ci i w konsoli eksportuje ją poleceniem
mysqldump --default-character-set=utf8 -h adres_serwera -u użytkownik -p -e nazwa_bazy > zrzut.sql w pliku wynikowym też mam krzaki zamiast polskich liter także import z tego pliku niestety nic nie daje bo krzaki przechodzą do bazy z powrotem. Ogólnie do wyciągania z bazy ustawiam sobie przy połączeniu i jest ok. Ale problem jest w momencie, gdy chcę coś znaleźć w bazie, tzn gdy w powiedzmy wyszukiwarce na stronie wpiszę polskie znaki i mam je porównać z tymi krzakami w bazie... Ten post edytował lukash82 18.09.2009, 16:43:51 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 12:00 |