Tak prosty i błachy problem, a już pół dnia nie mogę go rozwiązać i już nie rozumiem...
Chcę dodać nowy rekord do bazy. Operuję w programie kED i kodowanie znaków jest na utf-8 ustawione.
Plik, w którym wgrywam wygląda dosłownie tak: ( produkty.php )
<?php // połączenie z bazą danych ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <meta name="Description" content=" [wstaw tu opis strony] "> <meta name="Keywords" content=" [wstaw tu slowa kluczowe] "> <meta name="Author" content=" [dane autora] "> <meta name="Generator" content="kED2"> <title> [tytuł strony] </title> <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css"> </head> <body> <form action="produkty.php" method="post"> <input type="text" name="nazwa"> </form> <?php { mysql_query("INSERT INTO `bestcarparts_cba_pl`.`produkty` (`id`, `nazwa`, `kategoria`, `adres`, `cena`, `opis_krotki`, `opis_dlugi`, `data`, `ilosc`, `obrazek`) VALUES (NULL, '{$_POST['nazwa']}', '', '', '', '', '', '', '4323', '');"); } ?> </body> </html>
Baza danych na cba.pl , w phpmyadminie porównywanie znaków jest na utf8_general_ci , porównywanie tabeli i każda kolumna również jest na kodowanie utf8_general_ci . I no wszelkimi możliwymi sposobami nie mogę sobie poradzić... Zawsze są krzaki.. Próbowałem z SET NAMES utf8 i nic, próbowałem nawet z iconv i nic, próbowałem nawet wykryć mb_detect_encoding i zawsze zwraca UTF-8 ... Gdy dodaję z panelu w phpmyadmienie wyświetlają się poprawnie znaczki, ale jak dodaję za pomocą powyższego skryptu to nie... Nawet jak dodaję w skrypcie to i tak nawet i w bazie się źle wyświetlają... No i nie mam już pomysłu. Specjalnie usunąłem wszystkie dodatkowe zaincludowane pliki do tego, czysty plik powyżej jest i nie wiem...
Jakie macie propozycje ? ...