Lollus Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 Witam. Mam problem z polskimi znakami w bazie mysql. Napisałem skrypt, którego celem jest połączenie się z bazą mysql z kodowaniem ustawionym na utf8_polish_ci oraz wyświetlenie rekordów, które zawierają polskie znaki. W 'headzie' strony ustawione jest kodowanie 8859-2. Niestety, mimo iż w phpmyadmin polskie znaki wyświetlają się prawidłowo, na stronie w miejsce polskich znaków pojawiają się pytajniki. Czy na localhoscie, czy na serwerze zdalnym dzieje się to samo. Jak sprawić, by polskie znaki były wyświetlane poprawnie ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 Też mam z tym problem, Imo ustawiłem kodowanie ( phpMyAdmin ) na ...polish..., jednak to nie działa ( Tzn. zamiast 'ł' wstawia '3' ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 ustaw stronie utf albo bazie iso. u mnie w bazie są krzaki, za to na stronach jest ok Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 Jak tak patrze, baza ( tabela ) nie ma ustawienia kodowania na iso :) ( tylko utf8_[przyrostek] i inne ) Btw. Chodzi właśnie o bazę, tam się stwarzają krzaczki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 ja nie ważne jak mam ustawioną bazę (utf czy iso-korean) zawsze mam tak krzaki, jednak jeśli wysyłam ze strony z utf i ładuję znów na stronę utf to mam normal. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 Ok, spróbuję napisać taki 'parser' w php ( do drukowania ofc. ) ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lollus Opublikowano 5 Maja 2010 Autor Udostępnij Opublikowano 5 Maja 2010 Wywala takie coś B???�???y zgodnie z twoją radą, dodałem: <meta http-equiv="content-type" content="text/html; charset=utf-8" /> I zmieniłem "kolacje" na polskie utf Dalej są krzaczki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 jeszcze jest coś takiego jak kodowanie pliku, to się ustawia np przy zapisie pliku notatnikiem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 Ja zamieniam przed dodaniem do bazy wszelkie polskie znaki na kody unicode, wtedy z wyświetleniem nie ma problemu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lollus Opublikowano 5 Maja 2010 Autor Udostępnij Opublikowano 5 Maja 2010 Wiem, że jest takie coś jak kodowanie pliku tekstowego. Ale przy Ansi i utf8 są pytajniki a przy unicode nic się nie wyświetla Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 5 Maja 2010 Udostępnij Opublikowano 5 Maja 2010 Wszystko powinno być ustawione na to samo kodowanie. Notatnik korzysta z Windows-1250. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lollus Opublikowano 5 Maja 2010 Autor Udostępnij Opublikowano 5 Maja 2010 Wszędzie i we wszystkim mam utf-8 W notatniku windowsowym mam tylko możliwość zapisu w Unicode, Ansi, UTF-8,Unicode big endian Coś jest z pobieraniem danych z bazy, bo gdy wpisuje polskie znaki poza <? ?> wyświetlają się normalnie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lollus Opublikowano 5 Maja 2010 Autor Udostępnij Opublikowano 5 Maja 2010 Edit: Zamieszczam kod: <HEAD> GML <HEAD> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> //Ustawienie kodowania </HEAD> <body> <? mysql_connect("localhost", "root", "vertrigo"); mysql_select_db("polznaki"); $gut= mysql_query("SELECT * FROM imiona"); while($sius = mysql_fetch_assoc($gut)){ echo $sius['nazwa']." "; } ?> ąśśę€ó€śźćń //to tylko po to, żeby sprawdzić, czy text htmlowy się wyświetli poprawnie. I wyświetla się... </body> Firefox pokazuje, że kodowanie to UTF-8 Notatnik pokazuje, że kodowanie to UTF-8 PHPmyadmin: System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) System porównań dla połączenia MySQL: UTF_polish_ci Baza danych, tabela - tak samo jak wyżej I dalej są pytajniki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Maja 2010 Administratorzy Udostępnij Opublikowano 5 Maja 2010 Wartości pobrane z MySql zostaną wyświetlone w tym samym kodowaniu, w jakim zostały zapisane, a samo ustawienie kodowana w phpmyadminie można o kant dupy potłuc. Jedyny słuszny sposób to aktualizować i odczytywać dane na stronie/ze strony którą projektujemy, nie bawiąc się nic z kodowaniem. Czyli dodajemy zawartość z tego samego kodu, z którego potem pobieramy (oczywiście nie z tego samego pliku, ale wiecie o co chodzi, jakiś panel admina czy coś). Ostatecznie jest iconv(), ale przy większej ilości danych sporo obciąży to serwer; Dowód, ze to działa - gdy powstał GMCLAN, tego ustawienia w MySql nie było, a mimo update do nowych wersji kodowanie się nie zepsuło. Fakt, że phpMyAdmin pokazuje krzaczki o których mówicie, ale sama strona wciąż odczytuje i zapisuje tak jak należy - binarnie bowiem nic się nie zmienia :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lollus Opublikowano 5 Maja 2010 Autor Udostępnij Opublikowano 5 Maja 2010 Tak, ale właśnie phpmyadmin pokazuje mi przykładowo wyraz "Bałwanuś" a na stronie jest "Ba?wanu?" Bardziej zależałoby mi, żeby dane na stronie były wyświetlanie prawidłowo. Od godziny 16:00 szukam na to sposobu, jest 20:30. Jak ostatecznie zrobić pobranie polskiego słowa z bazy danych i wyświetlenie na stronie? Bardzo proszę o pomoc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lollus Opublikowano 5 Maja 2010 Autor Udostępnij Opublikowano 5 Maja 2010 Witam. Sprawdzałem i może tutaj mam coś źle... GML auto increment increment 1 auto increment offset 1 automatic sp privileges ON back log 50 basedir C:\Program Files\VertrigoServ\Mysql\ binlog cache size 32 768 bulk insert buffer size 8 388 608 character set client utf8 (Wartość globalna) latin1 character set connection utf8 (Wartość globalna) latin1 character set database latin1 character set filesystem binary character set results utf8 (Wartość globalna) latin1 character set server latin1 character set system utf8 character sets dir C:\Program Files\VertrigoServ\Mysql\share\charsets\ collation connection utf8_polish_ci (Wartość globalna) latin1_swedish_ci collation database latin1_swedish_ci collation server latin1_swedish_ci completion type 0 concurrent insert 1 connect timeout 5 datadir C:\Program Files\VertrigoServ\Mysql\data\ date format %Y-%m-%d datetime format %Y-%m-%d %H:%i:%s Jeżeli tak to jak to naprawić? Edit: poradziłem już sobie z tym za pomocą narządzia mysqld ustawiłem domyślne kodowanie :) Zastanawia mnie tylko co, jak będzie to serwer zdalny? Tam już takich narzędzi nie ma... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 6 Maja 2010 Udostępnij Opublikowano 6 Maja 2010 Wiem, że jest takie coś jak kodowanie pliku tekstowego. Ale przy Ansi i utf8 są pytajniki a przy unicode nic się nie wyświetla Nie zrozumiałeś mnie. Nie chodzi mi o kodowanie a o kody Unicode, nie znam ich na pamięć ale przykładowo w bazie będzie baýwanuđ a przy wyświetlaniu takiego tekstu kodowanie już nie ma znaczenia. W taki sposób Psyś ma tu swój nick. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 6 Maja 2010 Udostępnij Opublikowano 6 Maja 2010 ja musialem zrobic tak ze skasowalem baze, zrobilem nowa, zmienilem kodowanie bazy na utf-8 general (chyba bez BOM), utworzylem tabele o tym samym kodowaniu i dopiero dzialaly polskie znaki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Maja 2010 Administratorzy Udostępnij Opublikowano 6 Maja 2010 A ja tworzę tabelę, nie patrzę jakie kodowanie (nic nie zmieniam, zostawiam takie jakie jest domyślnie) i uzupełniam ją już ze strony ( INSERT, UPDATE, DELETE, REPLACE, SELECT ) - i nie mam problemów, pomimo, że są całkowicie rozbieżne kodowania w obu przypadkach (ale kodowanie strony w meta tagach z kodowaniem pliku się zgadza, żeby dane post dobrze dochodziły) - dodam, że używam ISO-8859-2. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się