1

Тема: Кириллица, utf8 и mysql

Проблема такова, при вводе русских букв в обычную форму ввода информации, он передает её в базу, а затем в таблицу, НО выводит на сайт не корректно Пример;
« Сообщение Соперникам. ??змените в профиле ва??ей команды! »
а должно быть(так вводил в профиле)
« Сообщение Соперникам. Измените в профиле вашей команды! »
пробовал в таблице делать кодировку utf8_unicode_ci и general_ci - не помогает
На сайт выводится через echo.
И кстати, не отображаются только некоторые символы « А а    Б б    В в    Г г    Д д    Е е    Ё ё Ж ж    З з    ?? и     Й й    К к    Л л    М м Н н    О о    П п    Р р    С с    Т т    У у Ф ф    Х х    Ц ц    Ч ч    Ш ??    Щ щ    Ъ ъ Ы ы    Ь ь    Э э    Ю ю    Я я »
Только "И" и "Ш".
Сама форма ввода
[spoiler]<fieldset>
<legend>Сообщение соперникам:</legend>
<?
if($_POST['slogan'] == 'Обновить')
{

$sl = "UPDATE cs_teams SET slogan = '$_POST[text]' WHERE id = '$qid'";
$s1 = mysql_query($sl) OR die(mysql_error());   
echo 'Сообщение соперникам было обновлено';
}
else
{
?>     
   <form name="form1" method="post" action="teamcp.php?&id=<?=$qid?>">
    <textarea rows="3" cols="55" name="text"><? echo $t['slogan']; ?></textarea>
     <div class="update"><input type="submit" name="slogan" value="Обновить"></div>
</form>
<? } ?>
</fieldset>    [/spoiler]
Тут все правильно.. Коннект к дб есть

2

Re: Кириллица, utf8 и mysql

собственно говоря проблема и на форуме vBulletin 3.8.4 . Тоже самое, Шш и И - 3 буквы. в cp1251 отображает корректно..

3

Re: Кириллица, utf8 и mysql

Setroler
1) Страницы сайта должны быть в кодировке utf-8.
2) Таблицы в БД должны иметь сравнение utf8_general_ci.
3) В скрипте сразу после функции mysql_connect добавьте строку:
mysql_query('SET NAMES utf8');

Решение для форума vBulletin здесь: http://forum.php-myadmin.ru/viewtopic.p … 074#p12074

Оба эти решения только для новых данных. Если в БД уже есть данные, то их придется переконвертировать.

4

Re: Кириллица, utf8 и mysql

я могу использовать в mysql utf8_unicode_ci?

Сообщение добавлено Fri May 21 22:22:43 2010
хех. добавил у себя в конфиг(на моем скрипте) mysql_query('SET NAMES utf8'); было так: http://gyazo.com/ae33db725195521523f3a6251f15fd77.png стало так: http://gyazo.com/a5d5ef5f93ec1a7bbcc3f293d1f4f419.png

5

Re: Кириллица, utf8 и mysql

после переустановки базы помогло - ОГРОМНОЕ СПАСИБО! smile

6

Re: Кириллица, utf8 и mysql

Setroler
Вы можете использовать utf8_unicode_ci. Разница с utf8_general_ci незначительная, только в сортировке достаточно редких символов.