Проблема с кодировкой
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