postavkin

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

2. Когда добавляете в базу, скажем, значение поля field, попробуйте:
$field = iconv('windows-1251', 'UTF-8', $_POST['field']);

Сделал. Проверим на одном поле. Всё равно в таблицу добавляются иероглифы.

Сайт и файлы в кодировке utf-8.

ps Я так понимаю - главная задача сейчас - это сделать так, чтобы в таблицу записи добавлялись читаемыми.

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 не будет необходимости. Да?

Всего: 5509