Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySql] Kodowanie hiszpańskich znaków
Sondewerek
post 28.05.2012, 09:02:02
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


Witam,

Mam do zrobienia bazę danych, w której będą przechowywane jakieś stringi z hiszpańskimi literami/znakami.

Czytałem trochę tematów z tym związanych na innych forach i ustawiłem kodowanie tak:
System porównań dla połączenia MySQL: utf8_unicode_ci
Metoda porównywania napisów w tabelach: utf8_general_ci
Na stronie ze skryptem: header('Content-type: text/html; charset=UTF-8');

I wszystko ładnie pięknie, w bazie mam akcenty nad "Á é í ó ú ü", a zamiast "ñ ¿ ¡" są krzaki. Na stronie natomiast jest w drugą stronę. sad.gif Zmieniałem kodowanie na różny sposób (np. na latin2), ale efekt dalej ten sam.

Miał kiedyś podobny problem albo może mi pomóc z tym kodowaniem?

Za wszystkie propozycje z góry dzięki.

Pozdrawiam,
Sondewerek.
Go to the top of the page
+Quote Post
by_ikar
post 28.05.2012, 09:58:48
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Wszędzie musi być kodowanie utf8. Pliki (html, php) również musza być w kodowaniu utf8. A jak w bazie ci pokazuje krzaki, mimo że wynik na stronie jest dobry, to po zalogowaniu do phpmyadmin ustaw sobie kodowanie.
Go to the top of the page
+Quote Post
Sondewerek
post 28.05.2012, 11:10:05
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


Ustawiłem kodowanie utf8 we wszystkich plikach. Na stronie wszystko dobrze wyświetla, ale w bazie są inne krzaczki.

Cytat(by_ikar @ 28.05.2012, 10:58:48 ) *
A jak w bazie ci pokazuje krzaki, mimo że wynik na stronie jest dobry, to po zalogowaniu do phpmyadmin ustaw sobie kodowanie.

Chodzi ci o 'System porównań dla połączenia MySQL' czy o jakieś inne ustawienie kodowania, o których nie wiem? Bo jeżeli to pierwsze, to mam ustawione.

Ten post edytował Sondewerek 28.05.2012, 11:15:48
Go to the top of the page
+Quote Post
by_ikar
post 29.05.2012, 07:26:20
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Ciężko mi powiedzieć. Jeżeli tych danych w bazie nie ma dużo, spróbuj je jeszcze raz dodać (bez różnicy w jaki sposócool.gif, i sprawdź.
Go to the top of the page
+Quote Post
Sondewerek
post 29.05.2012, 10:07:51
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


No właśnie, że w bazie danych cały czas są krzaki, nawet po dodaniu nowych rekordów. Zależy mi na pozbyciu się ich, ponieważ baza będzie co jakiś czas eksportowana do pliku Excela, a krzaki nie będą tam mile widziane przez osoby trzecie.

Ten post edytował Sondewerek 29.05.2012, 10:48:00
Go to the top of the page
+Quote Post
by_ikar
post 29.05.2012, 13:33:16
Post #6





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Hmm, ciężko mi cokolwiek powiedzieć. Weź wyeksportuj te dane do excela i sprawdź czy nadal będą krzaki.
Go to the top of the page
+Quote Post
Sondewerek
post 30.05.2012, 11:35:38
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


No niestety, ale to co widać w bazie jest także w pliku z Excela... -.-

Ktoś inny, kto przejrzy ten temat, ma może jakiś pomysł?
Go to the top of the page
+Quote Post
viking
post 30.05.2012, 11:55:37
Post #8





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Masz gdzieś przykład tych danych (całej strony)? Wychodzi na błędne kodowanie w bazie.


--------------------
Go to the top of the page
+Quote Post
Sondewerek
post 30.05.2012, 13:33:30
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


http://www.wats.ugu.pl/uzytkownicy.php tutaj jest przykład znaków na stronie.
A tak to wygląda w bazie: http://i45.tinypic.com/2hfuvy8.png
Metoda porównywania napisów w tabeli: utf8_general_ci
System porównań dla połączenia MySQL: utf8_unicode_ci
Go to the top of the page
+Quote Post
viking
post 30.05.2012, 13:38:24
Post #10





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


A ustawiłeś w PHPMyAdmin dobre kodowanie? Próbowałeś połączyć się innym narzędziem (navicat, MySQL Workbench)?


--------------------
Go to the top of the page
+Quote Post
Sondewerek
post 31.05.2012, 09:16:05
Post #11





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


A można gdzieś jeszcze ustawić kodowanie oprócz tego, co wymieniłem wyżej? Sorry, że pytam, ale jestem prawie początkujący w phpmyadmin.

#BUMP!

Jest zajawka - jak wpiszemy dane ręcznie to znaki są zachowane w bazie jak i na stronce, jednak po ich eksporcie do excela znowu są krzaki. I teraz nie wiem czy dane są źle przesyłane skoro po ręcznym wpisaniu wszystkie ogonki i inne cuda normalnie się pojawiają a wysyłając z formularza są krzaki w bazie/excelu, a nie na stronce. :f

Ten post edytował Sondewerek 31.05.2012, 09:34:40
Go to the top of the page
+Quote Post
by_ikar
post 31.05.2012, 10:31:07
Post #12





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Te dane wpisujesz ręcznie poprzez stronę, czy phpmyadmina? Obstawiam że nie masz wszędzie ustawionego kodowania utf8. Pokaż kawałek kodu, najlepiej w miejscu w którym łączysz się z bazą. Druga kwestia, zainstaluj sobie lokalnie jakiegoś wampa (wampserver jest taki w wersji portable: http://sourceforge.net/projects/wampserver...a-2.7z/download ) i sprawdź tam, czy tam te znaki nadal będziesz miał uwalone.

Jak wszystko masz w tym samym kodowaniu (tabele w bazie, pliki, połączenie z bazą) to nie ma siły żeby to nie działało poprawnie.
Go to the top of the page
+Quote Post
IProSoft
post 31.05.2012, 10:39:13
Post #13





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


Sprawdź kolejno:

- kodowanie plików, nie tylko tego od połączenia z bazą ale wszystkich używanych do wysyłania.
- system porównań dla połączenia MySQL w phpmyadmin
- metoda porównywania napisów w całej bazie
- metoda porównywania napisów w tabeli w której masz zapisane dane
- metoda porównywania napisów w kolumnie tabeli w której są dane.

Teoretycznie przy zakładaniu bazy wszystko powinno być jak kodowanie główne ale kto wie...


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
Sondewerek
post 31.05.2012, 10:47:11
Post #14





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 25.05.2012
Skąd: Ruda Śląska

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


Przekopałem internet 2 razy i znalazłem wybawcę.
Dodana linijka do config.php(plik, który przechowuje konfigurację do podłączenie się do bazy).
  1. mysql_set_charset('utf8');


/facepalm
/bicie_w_piersc

Dzięki wszystkim za pomoc!

Ten post edytował Sondewerek 31.05.2012, 10:49:27
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 17.07.2025 - 22:47