проблема с русским

_cooper_

Новичок
проблема с русским

самое интересное то что база ср1251 все поля тоже, но все равно вместо кирилицы записывается в базу ??????????? - вот такая гадость
function save_record() {

//quote check!!!!
if (!empty($_POST)) {
while (list($key, $value) = each ($_POST)) {
$a = $key;
$value = stripslashes($value);
$$a = htmlspecialchars($value,ENT_QUOTES);
}
}


if(!$priority) $priority='N';
if(!$important) $important='N';

if(!$todo_id){
$INTO_str = 'todo_id, todo_title, date, priority, important, description';
$field_str = "'', ";
$field_str .= " '$todo_title', "; //////////////// $todo_title
$field_str .= " '$date', ";
$field_str .= " '$priority', ";
$field_str .= " '$important', ";
$field_str .= " '$description' ";

$query = "INSERT INTO ". TODO_TABLENAME ." ($INTO_str) VALUES ($field_str)";


} else {
$field_str .= " todo_title ='$todo_title', ";
$field_str .= " date ='$date', ";
$field_str .= " priority ='$priority', ";
$field_str .= " important ='$important', ";
$field_str .= " description ='$description' ";
$query = "UPDATE ". TODO_TABLENAME ." SET $field_str WHERE todo_id = '$todo_id'";
}
$result = db_put($query);
echo "<SCRIPT>window.close();top.opener.window.location.href='" . $_SERVER['PHP_SELF'] . "';</SCRIPT>";
}




перед запросом ставлю ему
mysql_query ("set names cp1251");
все равно такая хрень
 

Фанат

oncle terrible
Команда форума
http://phpclub.ru/faq/wakka.php?wakka=Mysql41Rus&v=fid

-~{}~ 13.09.07 15:33:

функцию надо сократить в 30 раз.

-~{}~ 13.09.07 15:45:

если у тебя проблема с взаимодействием с БД, то надо писать тестовый скрипт для проверки работы с БД.
а не скрипт по проверке составления запросов, обработке форм и выводу данных из базы.
 

hammet

Новичок
Делай дебаг того что пишешь в бд, а потом читай фак по мусклю. Разберись сначала - у тебя проблема с кодировкой в MySQL или нет

-~{}~ 13.09.07 15:53:

да и функцию перепиши :)
 

_cooper_

Новичок
нет тестовый скрипт работает именно из этой функции что то не пашет, может кто видит в чем проблема, сам этот скрипт пашет на ура на локальной машине (на денвере), заливаю на сервак, там линукс и вот такой геморой, до этого такая проблема решалась вставкой перед запросом к базе mysql_query ("set names cp1251");
а под этой ф-цией не проканала
 

phprus

Moderator
Команда форума
_cooper_
//quote check!!!!
if (!empty($_POST)) {
while (list($key, $value) = each ($_POST)) {
$a = $key;
$value = stripslashes($value);
$$a = htmlspecialchars($value,ENT_QUOTES);
}
}
Это у тебя такая защита от SQL-инъекций?
Почитай статью: PHP FAQ: \"Кавычки \". Cоставление запросов mysql, слеши, экранирование кавычек. о том, как правильно защищаться от SQL-инъекций.

о все равно вместо кирилицы записывается в базу ???????????
А чем ты смотришь что находится в таблице? Ты уверен, что в этом скрипте нет ошибок работы с кодировками?
 
Сверху