![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
Mam plik php, który jest kodowany w systemie UTF-8, nagłówek jaki jest wysyłany to:
i kod html Cytat <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> Php my admin (strona główna): Cytat System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) System porównań dla połączenia MySQL: utf8_unicode_ci Zaś baza danych w której są zapisywane informacje jest kodowana w systemie latin1_swedish_ci. Polskie znaki są kodowany w taki sposób Cytat śńłąşź Jeżeli w php my adminie zmienię kodowanie dla pola na inne typu latin2_general_ci, lub utf8_unicode, to nie daje rezultatów. Co mam zmienić, by polskie znaki były kodowane poprawnie w bazie danych. Nie zależy mi na ich wykorzystywaniu na stronach. Chodzi tylko o poprawne kodowanie w bazie danych. Ten post edytował Krisu 25.04.2008, 17:43:24 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
zmień w bazie na utf-8 (podejrzewam że dane będziesz musiał wprowadzić jeszcze raz), pobierz dane i wyświetl na stronie zakodowanej w utf-8. Zobacz rezultat i napisz
Ten post edytował _olo_1984 25.04.2008, 18:17:31 -------------------- awake
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 379 Pomógł: 45 Dołączył: 30.06.2007 Ostrzeżenie: (10%) ![]() ![]() |
Miałem podobny przypadek z tym, że przenosiłem dane z jednej bazy danych na drugą. Niestety musiałem wprowadzić dane od nowa
![]() Chyba, że ktoś wie jak to "obejść" to przyda się na przyszłość ![]() -------------------- Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł" |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chyba, że ktoś wie jak to "obejść" to przyda się na przyszłość ![]() przepuścić zrzut bazy sql przez http://www.gzegzolka.com/ ![]() Ten post edytował ExPlOiT 25.04.2008, 18:49:55 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
Czyli tworząc bazę danych z poziomu php mógłbym od razu ustalać typ kodowania danych?
mysql_query('SET NAMES UTF-8'); Pokombinuje jeszcze ale jak nie zadziala to bede pisał ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
poprostu ustawiasz kodowanie tabeli na utf-8 i wtedy przy tworzeniu zrzutu bazy niebędzie żadnych problemów z kodowaniem.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
Ma być samo UTF-8, bez żadnych utf8_unicode_ci, lub utf8_general_ci?
No i czy wystarczy ustawic dla tabeli, czy jeszcze dla pola trzeba to samo zrobić? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
SET NAMES utf8
Dla kolumn utf8_polish_ci, bo przy innych będzie Ci źle wg diakrytyków sortować. ;] -------------------- ![]() 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
#9
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
Mimo wszystko nadal błędnie koduje znaki. bo albo zamienia je na
![]() Może spytam tak. Jakie kodowanie obsługuje wszystkie polskie znaki? Jeśli miałbym tą informację, to już wykombinowałbym coś własnoręcznie. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Kurde mi normalnie działa utf-8, mam polski znaki. Błąd był popełniony zapewne przy tworzeniu projektu bazy, gdzie kodowanie było inaczej ustawione niż utf-8. Będziesz musiał przepuścić zrzut bazy sql przez jakiś konwerter nic innego nie zrobisz. A robiłeś tak na stronie że odrazu po podłączeniu do bazy ustawiłeś kodowanie na utf-8?
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
No ok, UTF-8 pięknie działa gdy wprowadzam ręcznie dane do bazy danych, ale gdy dzieje się to ze strony php po przez formularz to już są one źle kodowane. Co w takim wypadku mam zrobić? Od czego to zależy?
Dane wstawiam w ten sposób:
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Jakie masz kodowanie pliku tego gdzie masz formularz? Ja wszystkie pliki koduje w utf-8 i dodawanie tekstów z polskimi znakami działa bardzo dobrze. Pobierz sobie program notepad++, otwórz w nim plik z tym formularzem i ten od dodawania do bazy, w programie wybierz Format/Kodowanie w utf-8 i w sekcji head ustaw kodowanie jako utf-8, zapisz plik i powinno być wszystko ok.
Ten post edytował ExPlOiT 26.04.2008, 10:01:49 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
korzystam z KED-a u na samym wstępie zawsze zmieniam kodowanie na UTF-8. Plik w ktorym znajduje sie formularz jest wlasnie tak kodowany i plik ktory zajmuje sie danymi w formularzu i jest includowany takze jest w standardzie UTF-8.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
a panel phpMyAdmin? Jaki masz w nim kodowanie ustawione?
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf8_general_ci |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 229 Pomógł: 13 Dołączył: 31.05.2007 Ostrzeżenie: (10%) ![]() ![]() |
Ja mam tak:
Metoda porównywania napisów - utf8_general_ci Każda tabela w bazie:
Pliki zapisywane w utf-8 (bez sygnatury) Po połączeniu z bazą:
I wszystko działa jak należy. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak samo, jak podałeś, powyżej i wreszcie problem zniknął.
![]() Wielkie dzięki. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 08:37 |