ПРОБЛЕМА:
При попытки вставить данные через 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 в базу НАДО чтонибуть указать?
ПОМОГИТЕ!!!
Кодировки MySQL.
Started By Mitjay, июн 26 2006 15:07
3 ответов в этой теме
#4
Отправлено 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);
?>
Теперь всё чики-брики. Данные теперь заносятся и выводятся коректно! АЛЕЛУЯ!
Трабла была в том, что перед командой 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);
?>
Теперь всё чики-брики. Данные теперь заносятся и выводятся коректно! АЛЕЛУЯ!