![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam drobny problem z kodowaniem polskich znaków przy zapisywaniu do bazy danych... korzystam z PDO do obsługi bazy. Gdy dodam wpis na stronie mi się on ładnie wyświetli (tak jak trzeba) natomiast jak podejrzę ten tekst w phpMyAdmin to mam niezłą sieczkę... dla przykładu dodaję ó€ęłśąńćźż ÓĘŁŚĄŃĆŹŻ a w badzie mi zapisuje ó€ęłśąńćźż ÓĘÅŚĄŃĆŹŻ metoda porównywania to utf8_general_ci natomiast wszystkie pliki są w UTF-8 bez BOM tak samo jak strona ![]() Niby nic wielkiego bo strona działa normalnie ale jednak chciałbym aby w bazie też był ten sam tekst co na stronie bez krzaków... Pozdrawiam Rav |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
daj pliki w iso8859-2
lub nagłówek na stronie, przez którą dodajesz header() z utf-8 -------------------- LS Easter egg < |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Powinieneś bezpośrednio po połączeniu się do bazy ustawić sposób kodowania przy połączeniu - nie wiadomo, jaki jest domyślny w MySQL. To, że phpMyAdmin używa UTF8 nic nie znaczy. Bardziej tu szukałbym problemu.
Możesz to zrobić na dwa sposoby:
lub
Musisz jednak liczyć się z tym, że w momencie zmiany kodowania przy połączeniu, wszystkie wyświetlane do tej pory poprawnie dane zaczną pokazywać się na stronie tak samo, jak wyświetla je phpMyAdmin. Z kolei nowe, dodawane przez skrypt dane będą już zapisywane poprawnie. Ten post edytował morbic 2.07.2011, 17:09:21 -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Powinieneś bezpośrednio po połączeniu się do bazy ustawić sposób kodowania przy połączeniu - nie wiadomo, jaki jest domyślny w MySQL. To, że phpMyAdmin używa UTF8 nic nie znaczy. Bardziej tu szukałbym problemu. Możesz to zrobić na dwa sposoby:
lub
Musisz jednak liczyć się z tym, że w momencie zmiany kodowania przy połączeniu, wszystkie wyświetlane do tej pory poprawnie dane zaczną pokazywać się na stronie tak samo, jak wyświetla je phpMyAdmin. Z kolei nowe, dodawane przez skrypt dane będą już zapisywane poprawnie. Zrobiłem to pierwsze ale wyskoczył mi błąd... Cytat Fatal error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in C:\wamp\www\config.php on line 23
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jakiej wersji PHP używasz? W 5.2 działa bez zarzutu, ale w 5.3 ta opcja magicznie zniknęła.
Najbezpieczniej używać sposobu drugiego. -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Jakiej wersji PHP używasz? W 5.2 działa bez zarzutu, ale w 5.3 ta opcja magicznie zniknęła. Dziwne, w dokumentacji nadal jest http://pl2.php.net/manual/en/ref.pdo-mysql.php -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Źle się wyraziłem, ogólnie nie zniknęła. Wygląda to na bug w którejś z wersji PHP, który został później poprawiony.
https://bugs.php.net/bug.php?id=47224 -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:04 |