Problem kodowania polskich znaków jest bardzo popularny. Prześledziłem wątki i mniej więcej rozumiem to w ten sposób że kodowanie strony i kodowanie bazy musi się zgadzać tzn.
strona kodowanie iso-8859-2
baza danych MySQL: kodowanie latin_2_general_ci
W mojej sytuacji tak właśnie jest czyli te dwa kodowania znaków się zgadzają. Problem pojawia się w bardzo specyficznej sytuacji ze specyficznym skryptem tj. ArticleMS. ArticleMS jest CMS-em bazą artykułów. Kodowanie strony zmieniłem na polskie i teraz kiedy dodaję sobie nowy artykuł (podobnie jak w każdej bazie stron) wszystko jest ok. Wszystko jest również ok z wyświetlaniem na stronie. Problem pojawia się kiedy artykuł chcę edytować bo wtedy pojawiają sie krzaczory. Krzaczorów nie ma w bazie bo sprawdzałem phpmyadmin i pokazuje normalnie polskie znaki. A więc dzieje się to w momencie powtórnego zapytania do bazy ale tylko przy edycji bo przy wyświetlaniu jest ok.
Aha po zapytaniu SHOW VARIABLES LIKE "character_set%";
character_set_client utf8
character_set_connection utf8
character_set_database latin2
character_set_server latin2
Rozumiem że chodzi o wstawienie tych linii
<?php ?>
Tylko w którym miejscu. Domyślam się że w pliku db_mysql.php. Poniżej kawałek tego pliku. Ja wtawiłem linie po
<?php $this->connection = @mysql_connect("$db_host:$db_port" . (!$this->socket ? '' : ":$db_socket"), $db_user, $db_pass); ?>
<?php function database($db_host, $db_user, $db_pass, $db_name, $db_port = 3306, $db_socket = ''){ $this->get = $_GET; $this->post = $_POST; $this->host = $db_host; $this->user = $db_user; $this->pass = $db_pass; $this->db = $db_name; $this->port = $db_port; $this->socket = $db_socket; $this->connection = @mysql_connect("$db_host:$db_port" . (!$this->socket ? '' : ":$db_socket"), $db_user, $db_pass); $this->connection = false; ?>
Przepraszam jeśli to jest nieprawidłowo ale jestem w sumie laikiem jeśli chodzi o php.
Czy ktoś mógłby pomóc w tej sytaucji?
Pozdrawiam,
Radek