Проблема с кодировкой

1. Серега (02.08.2012 / 16:21)
При добавлении в БД mysql русских символов, на сайте они отображаются так: ������,
зашел в phpmyadmin - эти же символы там отображаются как "ñ‹ð°ð³", или "b0c2b0c3b0c2b3" (в нескольких местах по-разному)
кодировка БД: utf8_bin,
сайт написан в utf-8 (без BOM),
кодировка страниц: utf-8

в чем может быть проблема? какие кодировки в базе/на сайте лучше использовать?

2. Макс (02.08.2012 / 16:39)
SET NAMES 'utf8' ставил? при подключение.
header('Content-type: text/html; charset=UTF-8'); заголовки отправлял?
уверен кодировка того ПОЛЯ utf8_unicode_ci?

3. Серега (02.08.2012 / 16:42)
2. MaXiStar, ты про это?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
этот код в каждой странице
SET NAMES 'utf8' - это где и как ставить?

4. Макс (02.08.2012 / 16:43)
header('Content-type: text/html; charset=UTF-8'); добавь этот код в ядро.
этот после подключения
mysql_query("SET NAMES 'utf8'", $connect);

5. Серега (02.08.2012 / 16:46)
4. MaXiStar, хорошо, попробую) спасибо)

6. Николай (02.08.2012 / 16:47)
и да проверь что бы в базе твоя таблица была в сравнении utf-8 general ci

7. Серега (02.08.2012 / 16:49)
6. Trance Mission, там utf8_bin стоит.. попробую сегодня utf-8 general ci поставить, спасибо)

8. Серега (02.08.2012 / 19:37)
еще одна проблема..
strtolower() меняет кодировку строки, setlocale(LC_ALL, 'ru_RU.UTF-8') не помогает..
кто знает как это можно исправить? или как перевести строку в нижний регистр другим способом?

9. T-S (02.08.2012 / 19:52)
@mb_internal_encoding('UTF-8');
mb_strtolower()

10. Серега (02.08.2012 / 19:53)
9. T-S, спасибо, попробую)

11. T-S (02.08.2012 / 19:55)
Вот пример настройки при подключении.
<?
$connect = mysql_pconnect('localhost', '', '');
$db      = mysql_select_db('content', $connect);
if (!$db) exit('ERROR SERVER PROBLEM');
mysql_query("SET NAMES 'utf8';");
mysql_query("SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';");
mysql_query("SET SESSION character_set_results = 'utf8';");
mysql_query("SET collation_connection = 'utf8_unicode_ci';");
mysql_query("SET character_set_results = 'utf8';");
mysql_query("SET character_set_client = 'utf8';");


12. Серега (03.08.2012 / 11:51)
та же фигня) сначала идет нормальный текст, после обработки функцией - ������������ и в базу не пишется

Добавлено через 00:40 сек.
в базе сравнение utf8_general_ci

13. Андрюха (03.08.2012 / 12:10)
11. Че за жесть... Это же сколько лишних запросов? Еще и соединение постоянное.

<?php

    mysql_connect('localhost', 'login', 'password');
    mysql_select_db('db');
    mysql_set_charset('UTF-8');

?>

Базу создать с кодировкой utf8_general_ci
Таблицы в кодировке utf8_general_ci

В .htaccess AddDefaultCharset UTF-8

И кодировка файлов UTF8 без BOM

14. Серега (03.08.2012 / 12:54)
13. Wapruks, ок, спасибо)

15. Андрюха (03.08.2012 / 13:02)
Незачто) Лиш бы помогло)

16. Серега (03.08.2012 / 13:09)
15. Wapruks, думаю, поможет) позже перекопаю весь код, скорее всего ошибка где-то есть..
щас пока есть проблемы поважнее)

17. Leks (13.08.2012 / 18:37)
Народ помогите !! Что делать если пхп выводит буквы DDDDDD с везде ютф

URL: https://visavi.net/topics/33662