Кодировка в базе mysql

Статус
В этой теме нельзя размещать новые ответы.

vanderv

Старатель
Регистрация
30 Май 2009
Сообщения
270
Реакции
12
Не знаю... Файл в одинаковой кодировке, все аккуратно...
А после записи в базу получаем РҐРѕРґРѕСЃ это Ольга так у нас записана. Хз в чём проблема. Подскажите плз. Может как-то показать базе в какой кодировке записать данные...
 
Ну во-первых посмотрите, чтобы поля в базе имели кодировку utf8_general_ci (желательно), далее после подключения к бд можно сделать
PHP:
$query="SET NAMES 'utf8'";

$result = mysql_query ($query)   or die ("<strong>Query failed </strong><br>line: ".__line__."<br>file: ".__file__."<br>error: ".mysql_error());
еще можно в файле .htaccess добавить строчку
Лично я бы посоветовал не использовать кодировку cp1251_general_ci, но это ИМХО и отдельная тема для холивара :)
 
сам файл исходник нужно сохранить в utf-8.
И уже еге заливать в базу.
notepad++ лучший помощник в таких случаях :ay:
 
  • Заблокирован
  • #4
Создаешь файл и сохраняешь его в кодировке utf-8.
Базу данных и таблицы тоже в utf8_general_ci.

И пишешь функцию соединения с базой данных и выделения таблицы. (в данной случае имя пользователь root, пароля нет, а база test)

function db_connect()
{
$connection = @mysql_connect('localhost', 'root', '');
if (!$connection)
{
return false;
}
if (!mysql_select_db('test'))
{
return false;
}
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
return $connection;
}
 
PHP:
$connection = @mysql_connect('localhost', 'root', '');

Вот так делать не рекомендую - более правильно, думаю, было бы так:
PHP:
$connection = mysql_connect('localhost', 'root', '') or die (mysql_error());
ибо отключение ошибок при подключении к базе очень часто вызывает хронический геморрой.:yahoo:
 
Ну во-первых посмотрите, чтобы поля в базе имели кодировку utf8_general_ci (желательно), далее после подключения к бд можно сделать
PHP:
$query="SET NAMES 'utf8'";
$result = mysql_query ($query)   or die ("<strong>Query failed </strong><br>line: ".__line__."<br>file: ".__file__."<br>error: ".mysql_error());
еще можно в файле .htaccess добавить строчку AddDefaultCharset utf-8
Лично я бы посоветовал не использовать кодировку cp1251_general_ci, но это ИМХО и отдельная тема для холивара :)
AddDefaultCharset utf-8 - веб сервер в результаты выдачи добавит header для браузера, в какой кодировке вы ему сообщаете результаты. Ни каким образом к mysql и вообще к вашей кодировке не имеет дела. Только для корректного отображения ваших данных в браузере.
 
Да лучше всего какую нибудь библиотеку использовать SimplrDb от Котерова или ADO
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху