Буду благодарен за любую помощь, сам начал заниматься сайтостроительством недавно, поэтому не знаю в чём может быть проблема. Постараюсь предоставить максимум информации: БД создана в UTF-8 Таблицы созданы с использованием ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; Сопоставление соединения с MySQL: utf8_general_ci character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server cp1251 character_set_system utf8 PHP скрипт: $includes[content]=" ".iif($error_msg,"<script>alert('$error_msg');</script>")." <div align=\"center\"> <form action=\"index.php?view=account&ac=new_fad&action=add&".$url_variables."\" method=\"post\" onSubmit=\"submitonce(this)\"> <table> <tr> <td>Title: </td> <td><input type=\"text\" name=\"title\" value=\"$title\"></td> </tr> <tr> <td>Target Url: </td> <td><input type=\"text\" name=\"target\" value=\"$target\"></td> </tr> <tr> <td>Description: </td> <td><textarea name=\"fad\">$fad</textarea></td> </tr> <tr> <td colspan=2 align=\"center\"><input type=\"submit\" value=\"Add Featured Ad\"></td> </tr> </table> </div> Он вводит данные в БД, причём вот в чём парадокс: title нормально сохраняется на русском, а вот Description кракозябрами... Если в ручную через phpmyadmin переписать кракозябры на русский, то он нормально отображается. Соединение с БД: function connect($thehost, $thedb, $theuser, $thepwd) { $this->Host=$thehost; $this->Database=$thedb; $this->User=$theuser; $this->Password=$thepwd; if ( 0 == $this->Link_ID ) { $this->Link_ID=mysql_connect($this->Host, $this->User, $this->Password); if (!$this->Link_ID) { $this->halt("Link-ID == false, connect failed"); } if (!mysql_query(sprintf("use %s",$this->Database),$this->Link_ID)) { $this->halt("cannot use database ".$this->Database); } if (!mysql_query("SET NAMES UTF8"); } } Я уже в отчаинии! Доступа к настройкам сервера нет.
а как вы получаете эти title и description? я так понимаю, что title получаете в нужной кодировке, а description - нет. проверьте, чтоб была указана кодировка утф-8 в заголовке html, а также кодировка самих файлов с кодом. у меня была похожая проблема. решилась именно таким образом.
именно так, на сайте есть форма, где сам пользователь вводит информацию: заголовок и описание. Скрипт заимствован, перевожу его сам, сама страница в utf8 без bom. из одной формы кириллица записывается в бд нормально, а из другой кракозябры.... у меня уже паника, известных методов уже не осталось
я уже давно понял что самый лучший стандарт utf-8 и желательно чтобы все это поняли поскорее...чтобы был единый стандарт и слово кракозябра все забыли. у меня в программе читаются любые форматы , но сохраняется намеренно только в utf-8 и вариант выбора кодировки намеренно удалён.
Апельсин - и ничего не мешает ? .. сочувствую (блин вторая тема и и все я на тя наехать пытаюсь ... но сорри - это не личное, это против мысли твоей, а не тебя .. ;-)) ютф явно удобнее, особенно когда количество языков начинает увеличиваться на сайте лавинообразно .... а пока маленькие проекты, и без систем поиска типа сфинкс и один язык .. то да цп1251 в принципе можно ..
nimistar Ога, а как же мультибайтовые функции для утф? Не подключил библиотеку и ничего не работает. Как никак - тоже гемор, для тех кто впервые столкнется. Да и сколько слышал разговор по поводу шустрости работы утф vs win 1251, мол меньше языков, быстрее работает. Тут ничего не утверждаю, может и бред. Да и както надобность в утф как знаю, для js (ajax) нужна, ибо там никак. В остальном - можно не париться. Ладно, утф руль, пошел все менять.. ))))
А вот кстати "шустрость" строковых функций у УТФ-8 очень ущербна в их текущей реализации, изза неоднозначного количества байт на символ, теоретически, УТФ-16 должен быть гораздо быстрее. Хотя слехка поковыряв исходники ПХП6, видел там вроде как решили проблему нативного утф за счет доп. хеш.таблиц для строк, в которых хранятся размеры.
я при переходе на ютф много думал и не сразу согласился ... последней каплей стал аякс ... первой домхмль ... незнаю как сейчас а два года назад было очень тяжело работать с деревом при том что весь проект на цп1251 ... естественно пока сам пхп полностью не перейдет на ютф будут возникать люди которым ничего не мешает танцевать ... но необходимость отказа от ансишных кодировок назрела очень давно .... и ниразу не в вебе .... веб тормознуто среагировал ...