Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przenoszenie kodu i bazy na inny serwer - polskie znaki ; )
Forum PHP.pl > Forum > Przedszkole
rkk
Witajcie,

Wiem, wiem, kolejny raz ktoś katuje Was problemem związanym z polskimi znakami. Mam jednak nadzieję, że poświęcicie kilka minut komuś, kto z PHP/MySQL nie miał do czynienia od kilku lat.

Otóż przenoszę stronę www znajomemu z hostingu w Ogicom do Webd. Kod przekopiowałem i przerzuciłem bazę danych za pomocą phpMyAdmin. Oczywiście polskie znaki zostały zastąpione znakami zapytania. No i teraz pytanie w czym problem, albo co mam ustawić, żeby było OK.

Na Ogicom tabelki mają porównywanie napisów na utf8_general_ci a baza utf8_polish_ci. W eksporcie ustawiam opcję "dostosuj" i "kodowanie znaków w pliku" na "UTF-8".
Nowa baza na Webd ma domyślnie porównywanie na latin2_general_ci, więc przestawiam na utf8_polish_ci i przechodzę do importu. "kodowanie znaków w pliku" też jest "UTF-8". Po zaimportowaniu i odpaleniu strony mam krzaki zamiast polskich znaków.

Strona www jest napisana we frameworku CakePHP 1.2 (wiem, staroć ; ). Poniżej konfiguracja bazy:

  1. var $default = array(
  2. 'driver' => 'adodb',
  3. 'connect' => 'mysql',
  4. 'persistent' => false,
  5. 'host' => 'adres',
  6. 'login' => 'login',
  7. 'password' => 'haslo',
  8. 'database' => 'baza',
  9. 'encoding' => 'UTF-8',
  10. 'prefix' => '',
  11. );


No i pytania na koniec:
1. Czy coś źle ustawiłem albo o czymś zapomniałem?
2. Możecie polecić jakiś artykuł nt. kodowania znaków w MySQL, który wyjaśnia jak ta baza sobie z tym radzi i czemu są takie problemy?
3. Może znacie jakiś lepszy sposób niż phpMyAdmin? exec i mysqldump nie działa niestety na nowym serwerze.

Będę wdzięczny za pomoc!
thepiotr
Miałem tak samo, tzn. w bazie (przeglądając ją phpmyadmin) dalej mam takie dziwne znaczki ale na stronie się ich pozbyłem wyrzucając
  1. $SQL->query("SET CHARSET utf8");
  2. $SQL->query("SET NAMES `utf8` COLLATE `utf8_polish_ci`");

z skryptu.
A stało mi się tak po przeniesieniu bazy z MySQL na MariaDB smile.gif

W Twoim przypadku to będzie coś z tym:
  1. 'encoding' => 'UTF-8',

Ale niewiem czy mam rację bo z php to same podstawy znam a z frameworkami nie miałem styczności ;p
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.