[Php, MySql]Dziwny zapis polskich znaków do bazy

0

Testowałem moją stronkę na 2 serwerach i wszystkie polskie znaki działały poprawnie, ale po wysłaniu strony na docelowy serwer zamiast polskich znaków do bazy są zapisywane znaki zapytania "?" nie wiem czym jest to spowodowane. Używam kodowania iso-8859-2 i przed zapisem mam tylko konwertowanie funkcją addslashes.
Jeszcze jedno - strona jest zbudowana tak, ze środek jest includowany wiec moze to jest problemem (spodtronka zapisująca tekst do bazy jest includowana do głównego dokumentu i może php nie wie, jak ma ją traktować, ponieważ nie posiada osobnych meta tagów z informacjami kodowania - tylko czy mogę zrobić meta w includowanej podstronie??)

Bardzo proszę o pomoc, bo muszę rozwiązać ten problem do poniedziałku.

0

to czy includujesz plik nie ma znaczenia wazne z jakim kodowaniem zostal zapisany
a co do bazy sprawdz jaki masz system kodowania znakow i system porownan bazy danych na serwerze powinno byc :

  • system kodowania: ISO 8859-2 Central European (latin2)
  • system porownan: latin2_general_ci
0

tak dodatkowo sprawdz jakie jest kodowanei od strony klienta jak sie laczysz z baza tez powinno byc ustawione na LATIN2

0

Hehe no dzięki za odpowiedzi, ale tutaj też jest mały problemik, bo język i system porównań mam tylko utf-8 czyli nie mam latin2, co mam zrobić w tej sytuacji ??


No właściwie poradziłem sobie - ręcznie zmieniłem kodowanie na utf8 w każdym polu każdej tabeli. Mam tylko jeszcze pytanko, czy jest jakiś sposób na strawdzenie standardowo ustawionego kodowania dla bazy danych i wtedy przy instalacji stronki automatycznie narzucić kodowanie dla poszczególnych pól w tabeli ?? Dokładniej chodzi mi też o to, czy da się zrobić listę wszytkich kodowań które zawiera serwer i np. przy instalacji wybrać takie, jakiego potrzebuję ??

Dla tych, którzy też tego będą szukali podam mały przykładzik, co trzeba wpisać przy zapytaniu dla tworzenia tabeli - w każdym polu tekstowym, np:

`menu_value` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL
0

potraktuj linie tekstu funkcja iconv i przed zapisem skonwertuj do utf-8 lub w samej baze przy zapytaniu mozesz konwertowac linie tekstu funkcja CONVERT... np
INSERT INTO tabela VALUES ( CONVERT ( pole USING utf8 ) )

1 użytkowników online, w tym zalogowanych: 0, gości: 1