Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Niezgodność kodowania znaków utf8mb4_unicode_ci
mati251195
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
viking
post
Post #2





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

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


Gdzie masz SET NAMES?
Go to the top of the page
+Quote Post
mati251195
post
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.
Go to the top of the page
+Quote Post
Tomplus
post
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.
Go to the top of the page
+Quote Post
mati251195
post
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.
Go to the top of the page
+Quote Post
Tomplus
post
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?
Go to the top of the page
+Quote Post
mati251195
post
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.
Go to the top of the page
+Quote Post
viking
post
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.
Go to the top of the page
+Quote Post
Tomplus
post
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,
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 23:21