Перейти к содержимому

Фото
- - - - -

Кодировки MySQL.


  • Вы не можете создать новую тему
  • Please log in to reply
3 ответов в этой теме

#1 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 26 июня 2006 - 15:07

ПРОБЛЕМА:
При попытки вставить данные через html форму в базу, данные отоброжаются в phpmyadmin не коректно в виде андÑ?ей!
На локале имею:

- phpMyAdmin 2.6.1
- MySQL 4.1.8-max
- MySQL-кодировка: UTF-8 Unicode (utf8)
- Сопоставление соединения с MySQL: UTF8_general_ci

Сдесь вот некоторые переменные локального сервера: Прикрепленный файл  local.JPG   31,36К   77 Количество загрузок

На хосте:

- phpMyAdmin 2.7.0-pl2
- MySQL 4.1.11-Debian_4sarge4-log
- MySQL-кодировка: UTF-8 Unicode (utf8)
- Сопоставление соединения с MySQL: UTF8_general_ci

Сдесь вот некоторые переменные удалённого сервера: Прикрепленный файл  host.jpg   31,08К   58 Количество загрузок
(как видно на серваке 1251 нету)

1 - Везде где только можно в MyAdmin выставил кодировку UTF8_general_ci.
2 - в html кодировка <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
3 - в скриптах прописал:
setlocale(LC_ALL, 'ru_RU.utf-8'); и mysql_query("SET NAMES 'utf8'");

После операций 1.2.3. на локале всё стало работать как надо. Данные через форму ложаться в базу с коректным отоброжением в phpmyadmin и так жу коректно выводятся в браузере. Но на удалённом сервере данные отоброжаются в phpmyadmin всё так же андÑ?ей, что очень не хорошо!

Подозреваю что собака зарыта в различии системной кодировки серваков, но Как решить эту проблему не знаю. Может при INSERT в базу НАДО чтонибуть указать?

ПОМОГИТЕ!!!
  • 0

#2 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 26 июня 2006 - 21:15

Mitjay, судя по скрину настроек сервака - у тебя кодирвка латинская, а должна быть УТФ. Попробуй удалить кукисы админа и удостовериться что ты выбрал именно УТФ-8 вариант языкового файла
  • 0

#3 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 26 июня 2006 - 22:06

"Попробуй удалить кукисы админа" - а как? подскажи! и реально ли это?
"удостовериться что ты выбрал именно УТФ-8 вариант языкового файла" - это ты про какой файл? В ПХПАДМИНЕ везде стоит utf8_general_ci!
МОЖНО ПОПОДРОБНЕЕ!!!
  • 0

#4 Mitjay

Mitjay
  • Пользователь
  • 38 сообщений
  • Откуда:Tallinn

Отправлено 27 июня 2006 - 00:20

Проблема решена!
Трабла была в том, что перед командой INSERT INTO. у меня был прорписан лишний запрос к базе "mysql_select_db". (что сделал услужлимо дримвъювер). Сделал отдельный файл с конектом где прописал:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_hastom_con = "host";
$database_hastom_con = "db";
$username_hastom_con = "user";
$password_hastom_con = "password";
$hastom_con = mysql_pconnect($hostname_hastom_con, $username_hastom_con, $password_hastom_con) or trigger_error(mysql_error(),E_USER_ERROR);
setlocale(LC_ALL, 'ru_RU.utf-8');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($database_hastom_con, $hastom_con);
?>
Теперь всё чики-брики. Данные теперь заносятся и выводятся коректно! АЛЕЛУЯ!
  • 0