Кодировка и конвертация(mysql)

[Удален]
684

Здравствуйте, столкнулся с такой проблемой, есть сайт, который отображает текст в неверной кодировке, хоче перевести все в utf-8, но есть много мелких деталей:

Сравнение - cp1251_general_ci(как я понял сам текст в этой кодировке)

Как я понял это дефолтное сравнение - latin1_swedish_ci(сейчас во всем mysql стоит utf-8, кроме этой базы)

Это 2 опции сомтрел в phpmyadmin

Сам текст (тоже смотрю через phpmyadmin) - Newsweek Polska: РЈРєСЂР(Декодер лебедева говорит что cp1251 -> Utf-8)

Сейчас настройки по дефолту всей mysql - utf-8(все сравнения и т.д)

Как все корректно переевсти в utf-8 ?

спасибо!

S
На сайте с 03.07.2009
Offline
41
#1

Используйте для конвертации кодировки таблицы запрос

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]

пример:

ALTER TABLE `mydb`.`content` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Кодинг на PHP. Разработка расширений под Joomla.
M2
На сайте с 11.01.2011
Offline
341
#2

Очень хороший алгоритм:

1. Все файлы, которые что-либо отображают, сохраните в utf-8 без BOM, это важно. Так сохранить можно, к примеру, через Notepad++.

2. У всех шаблонов, html-файлов и вообще где что-то отображается:


<meta http-equiv="content-type" content="text/html;charset=utf-8" />

3. Дамп базы - тоже в utf-8 сохраните

4. Проследите чтобы у всех таблиц была кодировка utf-8

5. Там где у вас инициализируется база данных, первый запрос должен быть:


mysql_query("SET NAMES 'utf8'")

Если после этого будут проблемы с кодировкой, пишите с подробным указанием, чего делали и чего не работает - будем разбираться.

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
TF-Studio
На сайте с 17.08.2010
Offline
334
#3

По 5 пункту:

Боле корректно будет:

mysqli_set_charset

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
M2
На сайте с 11.01.2011
Offline
341
#4

TF-Studio,

Ну да, не спорю, это смотря какое расширение для работы с СУБД используется.

TF-Studio
На сайте с 17.08.2010
Offline
334
#5

mysql_ - не рекомендуется уже давно использовать.

IL
На сайте с 20.04.2007
Offline
435
#6
TF-Studio:
mysql_ - не рекомендуется уже давно использовать.

PDO ещё есть.. там кодировка прямо в строке подключения указывается :)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
TF-Studio
На сайте с 17.08.2010
Offline
334
#7

pdo - в разу удобнее, но это не для новичков, ибо все мануалы и статьи написаны 1000 лет назад.

ещё AR удобная вещь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий