Срочно!!!!!!!!!!!! MySQL некорректное отображение текста, ошибка с кодировкой?

Компьютеры программирование базы данных кодировка

Стоит денвер, в phpmyadmin сопостовление кодировки с MySQL cp1251_general_ci, есть база данных с cp1251_general_ci, есть в ней одна таблица, где все varchar(255) cp1251_general_ci, есть php страница с кодировкой windows-1251, и есть страница php откуда подгружается база, тоже с кодировкой windows-1251 и обращением mysql_query("SET names cp1251");

При этом в браузере стоит кодировка Кириллица (Windows-1251)!!!

Помогите! Мне надо именно отображение кириллицы!

И еще одно, после ввода значений в форму на странице, эти значения прописываются в таблицу базы уже непонятными символами, и соответственно на страницу сайта выводится кракозябра вместо букв, хотя если ввожу данные непосредственно в таблицу все нормально и отображается на сайте кириллицей.

Помогите!!!!!!!!!!!!!!!!!!!!!!

Примечание:
Может и стоит, но перебивать весь сайт из за одной маленькой базы данных с одной табличкой не хочется, тем более, что помимо это базы есть три огромных других, я просто умру, если буду все переделывать. Так что, будут конструктивные предложения где искать подвох?

Примечание:
Нашла ошибку, у меня две страницы php, одна страница сайта, где прописан запрос и т.п. а другая страница подгружает базу данных на первую, так вот эта страница сама постоянно пересохраняется в западноевропейскую кодировку! как быть?

вот эта страница

<?php

class CMySQL {

// Переменные
var $sDbName;
var $sDbUser;
var $sDbPass;

var $vLink;

// Конструктор
function CMySQL() {
$this->sDbName = 'gostevaj';
$this->sDbUser = 'root';
$this->sDbPass = '';

// Создаем соединение с сервером баз данных
$this->vLink = mysql_connect("localhost", $this->sDbUser, $this->sDbPass);
header('Content-Type: text/html; charset=cp1251');
// Выбираем базу данных
mysql_select_db($this->sDbName, $this->vLink);

mysql_query ("SET CHARACTER SET 'cp1251'", $this->vLink);


}
// Возвращаем одно значение
function getOne($query, $index = 0) {
if (! $query)
return false;
$res = mysql_query($query);
$arr_res = array();
if ($res && mysql_num_rows($res))
$arr_res = mysql_fetch_array($res);
if (count($arr_res))
return $arr_res[$index];
else
return false;
}

// Выполняем запрос SQL
function res($query, $error_checking = true) {
if(!$query)
return false;
$res = mysql_query($query, $this->vLink);
if (!$res)
$this->error('Database query error', false, $query);
return $res;
}

// Возвращаем таблицу пар записей
function getPairs($query, $sFieldKey, $sFieldValue, $arr_type = MYSQL_ASSOC) {
if (! $query)
return array();

$res = $this->res($query);
$arr_res = array();
if ($res) {
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$arr_res[$row[$sFieldKey]] = $row[$sFieldValue];
}
mysql_free_result($res);
}
return $arr_res;
}

// Возвращаем таблицу
function getAll($query, $arr_type = MYSQL_ASSOC) {
if (! $query)
return array();

if ($arr_type != MYSQL_ASSOC && $arr_type != MYSQL_NUM && $arr_type != MYSQL_BOTH)
$arr_type = MYSQL_ASSOC;

$res = $this->res($query);
$arr_res = array();
if ($res) {
while ($row = mysql_fetch_array($res, $arr_type))
$arr_res[] = $row;
mysql_free_result($res);
}
return $arr_res;
}

// Возвращаем одну строку
function getRow($query, $arr_type = MYSQL_ASSOC) {
if(!$query)
return array();
if($arr_type != MYSQL_ASSOC && $arr_type != MYSQL_NUM && $arr_type != MYSQL_BOTH)
$arr_type = MYSQL_ASSOC;
$res = $this->res ($query);
$arr_res = array();
if($res && mysql_num_rows($res)) {
$arr_res = mysql_fetch_array($res, $arr_type);
mysql_free_result($res);
}
return $arr_res;
}

// Выход
function escape($s) {
return mysql_real_escape_string($s);
}

// Получаем последний id
function lastId() {
return mysql_insert_id($this->vLink);
}

// Выводим ошибки
function error($text, $isForceErrorChecking = false, $sSqlQuery = '') {
echo $text; exit;
}
}

$GLOBALS['MySQL'] = new CMySQL();

?>
Ответы:
а может стоит все в utf-8 сделать ? и проблемм будет меньше
Элементарно. Раздели на этапы и отлогируй. В частности, внеси руками русский текст в базу и будешь видеть где проблема - на записи или на отрисовке.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.