![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 25.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z kodowaniem znaków w bazie danych. Posiadam serwer lokalny zrobiony za pomocą programu XAMPP. Mam tam ustawione kodowanie utf8mb4_unicode_ci zarówno dla całej bazy, jak i każdej z tabel. Podczas przeniesienia bazy na hosting OVH wszystko działa elegancko. Kiedy natomiast przeniosłem na hosting nazwa.pl to na stronie mam krzaczki, mimo, że tak też ustawiłem to samo kodowanie. Kiedy dodałem coś na stronie na hostingu nazwa.pl i przeniosłem na serwer lokalny to też są krzaczki. Wersja phpmyadmin są różne, ale to nie jest przecież problemem, skoro używam takiego samego kodowania znaków. Strona to autorski system CMS. Tak wygląda kod związany z bazą danych: http://wklej.org/id/1837224/ - nie ma tutaj niczego specjalnego, tylko proste kody. Przede wszystkim zależy mi na tym, aby uratować jakoś treści i żeby te kodowania były zgodne, abym mógł wygodnie przenosić bazę między serwerem lokalnym, a hostingiem nazwa.pl. Niestety na ich pomoc liczyć nie mogę, bo mają swoje wymówki i umywają ręce. A skoro po przeniesieniu bazy z serwera lokalnego na OVH wszystko działa tzn., że z mojej strony raczej wszystko jest w porządku. Z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Gdzie masz SET NAMES?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 25.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jak dodam przy połączeniu taki kod: $this->pdo->exec("SET NAMES 'utf8';"); to i tak nie działa.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Ma się rozumieć że w bazie jak i podczas wyświetlania na localhost oraz i OVH masz wszystko ąę?
Ja korzystam regularnie z serwerów nazwa.pl i owszem też miałem problemy, pomogło: $this->pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8"); oraz dopisanie ;charset=utf8 do zapytania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 25.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nadal nic. Na OVH i serwerze lokalnym działa wszystko elegancko.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
A jak tworzysz nowy rekord masz ąę na stronie WWW i w bazie?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 25.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tylko na stronie, w bazie są krzaczki zamiast polskich znaków.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytaj http://wwwgo.pl/article/3/kodowanie_znakow_na_stronach_www
set names, header, poprawnie zakodowane pliki strony i nie ma opcji żeby nie działało. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
I teraz wszystko jasne.
Musisz zakodować w bazie prawidłowo. Najlepiej aby to zrobić, to: - aktualnym połączeniem wyświetl treść - nowym zapytaniem z dodanym kodowaniem SET NAMES/charset (zależnie od serwera) zrób UPDATE danych. Oczywiście zrób kopię bazy, albo dodaj nową kolumnę. Jeżeli w bazie będziesz miał ąę, to przy przenoszeniu z serwera na serwer nei będziesz miał takich kłopotów. Wiem, bo sam borykałem się z takimi problemami. Można poczytać nawet tutaj na forum o nich, |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:21 |