postavkin

Рейтинг
601
Регистрация
06.01.2009
HomerJSimspon:

1. mysql_query("SET NAMES utf8"); — сразу после подключения скрипта к БД.

Спасибо. У меня после подключения к бд вот такая запись


mysql_query("SET CHARACTER SET 'utf8'", $db); // приводим в кодировку utf-8
mysql_query("SET NAMES 'utf8'", $db); // приводим в кодировку utf-8
LEOnidUKG:
Офигеть вопросы из разных областей :)


А сайт то сам хоть в utf8?

<meta http-equiv="Content-Type" content="text; charset=utf-8" />

Извините, я просто не пойму в чем проблема с кодировкой...

Я опять запутался. Прошу подсказать, что я не так настроил.

1. бд - utf8

2. таблица бд - поле "Сравнение" - значение "utf8_general_ci"

3. все файлы php сайта - кодировка utf-8 без BOM

4. форма добавления -

<form action="forma.php" method="POST" accept-charset="utf-8">

но проблема - либо данные записываются в таблицу иероглифами, либо если поставить

<form action="forma.php" method="POST" accept-charset="windows-1251">
то в форме эти поля ромбами

<td width="400" height="60" valign="top"><input type=text name=companyname size="45" value='<? echo $_POST['companyname'] ?>'>...

Подскажите, пожалуйста.

Поскольку все перевожу на кодировку utf-8

сделал такую строку в форме

<form action="zapros.php" method="POST" accept-charset="utf-8">

после заполнения формы данные добавляются в таблицу БД.

Но вот как сделал accept-charset="utf-8", теперь в таблице - иероглифы...ЧТо не так? Спасибо

bukachuk:
Дамп резервная копия
Если таблиц мало можно вообще все сделать руками. Не важно как вы это сделаете. Просто через дамп это сделать быстрее.

Но как я понял, через дамп не сменить кодировку полей таблиц, так как таблицы выгружаются рбратно с прежней структурой. А кодировка бд и так вроде правильная.

Спасибо.

Подскажите, пожалуйста.

Я посмотрел - у меня база данных изначально создавалась в utf-8 general ci.

Вопрос осталься по полям таблицы БД - их надо значение "Сравнение" сменить с "cp1251_general_ci" на "utf-8 general ci" руками можно или как раз через дамп базы?

Преследую простую цель - убрать из кода подключения к бд код


mysql_query("SET CHARACTER SET 'utf8'", $db); // приводим в кодировку utf-8
mysql_query("SET NAMES 'utf8'", $db); // приводим в кодировку utf-8
Putin:

Отказываюсь от типичных математических схем в пользу удобства пользователя.

Во всем ПФ виноват :)

bukachuk:
Сделайте просто дамп базы. в базе измените все строки cp1251 на utf8 и накатите опять дамп в базу.

Поясните, пожалуйста, что значит "дамп" базы? И кодировку делать utf8_general_ci верно?

bukachuk:
Сделайте просто дамп базы. в базе измените все строки cp1251 на utf8 и накатите опять дамп в базу.

Спасибо. я правильно понимаю, если это сделать, то использовать SET NAMES utf8 не будет необходимости. Да?

platitude:
У вас данные в БД сохраняются в кодировке cp1251.
Почитайте статьи про создание баз данных и кодировки в MySQL

Т.е. это не правильно?


mysql_query("SET CHARACTER SET 'utf8'", $connection);
mysql_query("SET NAMES 'utf8'", $connection);


---------- Добавлено 18.10.2012 в 22:03 ----------

bukachuk:
utf8_general_ci тогда

Тогда, раз что?

Раз уж я вот так написал?


mysql_query("SET CHARACTER SET 'utf8'", $connection);
mysql_query("SET NAMES 'utf8'", $connection);

Просто я в этом ламер, ещё почитаю конечно, но не увереш что без помощи разберусь.

Всего: 5508