Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Naprawa polskich znaków, Gżegżółka nie pomaga...
8rol
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 10.10.2009

Ostrzeżenie: (0%)
-----


Witam.

Przepisują stronę no nowo i zachodzi konieczność przeniesienia bazy.

Problem występują z kodowaniem polskich znaków.
Wszystkie tabele miały ustawioną metodę porównywania znaków na utf8_general_ci jednak wygląda na to, że przy wykonywaniu połączenia z bazą nie wysyłano zapytania SET NAMES. Myślę, że właśnie to spowodowało, że przeglądając bazę przez phpmyadmin polskie znaki były źle wyświetlane.

Wyeksportowałem zawartość starej bazy do pliku. Następnie stworzyłem nową bazę (wszystkie pola utf8_general_ci) i zaimportowałem (za pomocą phpmyadmin) do niej zawartość starej bazy mając nadzieje, że problem z polskimi znakami zostanie rozwiązany. Okazało się jednak, że nie...

Poczytałem dużo w internecie i postanowiłem skorzystać z programu Gżegżółka. Wybrałem plik ze starą bazą, kodowanie wejściowe pozostałem jako automatyczne, aby sam poprawnie rozpoznał kodowanie, natomiast kodowanie wyjściowe UTF-8.

Operacja ta jednak nie przyniosła skutków i polskie znaki nadal są niepoprawnie wyświetlane. Co ciekawe, Gżegżółka rozpoznała kodowanie wejściowe jako UTF-8.

Znowu zacząłem przeglądać internet i natrafiłem na stronę w której zaprezentowano wygląd polskich znaków w różnych kodowaniach ( http://konfiguracja.c0.pl/plitery.html ). Porównując z wyglądem polskich znaków w mojej starej bazie, ich wygląd zgadza się z tymi znajdującymi się w kolumnie ISO­-8859­-1).

Powróciłem do Gżegżółki ustawiając kodowanie ISO­-8859­-1 jako wejściowe i UTF-8 jak wyjściowe. Po skonwertowaniu "polskie znaki" zostały zmienione, jednak nadal wyglądają niepoprawnie.


Czy ktoś spotkał się już takim problemem i wie w jaki sposób sobie z nim poradzić?
Bardzo proszę o jakąkolwiek radę.

Pozdrawiam.

Ten post edytował 8rol 2.07.2010, 23:20:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Spróbuj

Notepad++
Format -> Encode in ANSI
Format -> Convert to UTF8 without BOM
Go to the top of the page
+Quote Post
8rol
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 10.10.2009

Ostrzeżenie: (0%)
-----


Niestety nie pomogło.

Przykładowo litera ź, która wyglądała tak: ¼ teraz wygląda tak: ÂĽ (przed skonwertowanie do UTF-8 wyglądała tak samo).


Jednak 'pomógł' za chęć pomocy,
Pozdrawiam.

Ten post edytował 8rol 2.07.2010, 22:26:23
Go to the top of the page
+Quote Post
krzysztof_kf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Widocznie już od samego początku kodowanie całej bazy miałeś źle ustawione najlepsze kodowanie dla wyświetlania wszystkich prawidłowo znaków utf-8 bo inaczej będziesz miał takie problemy jak pokazałeś już nic z tym nie zrobisz jak ręczne edytowanie w bazie danych na prawidłowe znaki .
Go to the top of the page
+Quote Post
gigzorr
post
Post #5





Grupa: Zarejestrowani
Postów: 652
Pomógł: 47
Dołączył: 6.02.2010
Skąd: Radom

Ostrzeżenie: (0%)
-----


mysql = query("SET NAMES 'utf8'"); Pod zapytaniem to wstaw.

spróbuj tego.

Ten post edytował gigzorr 3.07.2010, 09:41:44
Go to the top of the page
+Quote Post
Mchl
post
Post #6





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


http://en.wikipedia.org/wiki/Iconv
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 23:01