Skocz do zawartości
MFrost

problem z kodowaniem bazy mysql

Rekomendowane odpowiedzi

Witam

 

mam zainstalowany pakiet XAMPP, chciałem przenieść bazę z konta hostingowego na lokalny komputer, niestety po przeniesieniu nie mogę zalogować się do bazy, problem wynika nieprawidłowego kodowania znaków, niestety nie wiem jak poprawnie przenieść taką bazę, korzystałem z tego linka

Mój odnośnik

ale to nie przyniosło rezultatów, może ktoś ma jakiś pomysł?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

To jakiś archaiczny opis.

 

1. Najpierw dowiedz się, w jakim kodowaniu jest Twoja baza zapisana. Na głównej stronie phpMyAdmin będzie coś w ten deseń:

System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)

2. Następnie z poziomu phpMyAdmin wykonaj eksport bazy do pliku.

 

3. Jeśli kodowanie jest inne niż UTF-8, to otwórz plik .sql przy pomocy np PSPad, przełącz kodowanie na UFT-8 i zapisz plik.

 

4. Upewnij się, że baza na Twoim kompie ma UTF-8.

 

5. Importuj bazę przez phpMyAdmin.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Baza na serwerze to

Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)

 

z poziomu phpmyadmin dokonałem exportu tejze bazy do pliku, sprawdzałem programem gzegzolka kodowanie tgak zapisanej bazy i wyszlo

Kodowanie: Unicode UTF-8

EOL: LF (Unix)

 

baza na moim kompie tez ma ustawione

utf8_unicode_ci

 

zaimportowalem ta baze i nadal nie dziala jak trzeba, tzn nie moge podejrzec danych z poziomu strony www, natomiast jak podejrze ta baze w phpmyadmin to wszystkie polskie znaki sa na wlasciwym miejscu, w kazdym razie nie zauwazylem krzaczkow, prosze o pomoc w tym problemie

Edytowane przez MFrost

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. "utf8_unicode_ci" to metoda porównywania znaków, a nie ustawione kodowanie. Nie zmienia to faktu, że raczej jest dobrze.

 

2. Skoro phpMyAdmin widzi poprawnie, to z bazą wszystko jest ok. Natomiast Twoja strona ma źle ustawione kodowanie lub w ogóle nie ustawione. Zapewne jest ISO8859-2, a powinno być UTF-8. Zobacz sobie chociażby w źródle strony forum. Jeśli natomiast tam też masz dobrze ustawione, to albo przeglądarka źle wykrywa, albo funkcje obsługujące bazę są stare i wymuszają użycie ISO.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Strona ma ustawione kodowanie ISO8859-2, a co najdziwniejsze na serwerze hostingowym strona tez ma takie kodowanie ustawione i wszystko dziala. Tylko tam metoda porownania napisow jest latin2_general_ci, ale ustawialem tak tez na swoim kompie i tez nie dzialalo.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <meta http-equiv="Content-Language" content="pl">w <head></head>

 

Sam plik .php (?) tez zapisz z kodowaniem UTF-8. I musi dzialac, nie ma opcji.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

w skrypcie jest tak

 

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">

oraz występuję jeszcze

 

@mysql_query("SET NAMES 'latin2'");

ale jeszcze raz powtarzam tak jest też na serwerze hostingowym i to działa prawidłowo

Edytowane przez MFrost

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...