Мастера, вопрос возник. База в windows-1251, страницы- в utf-8. Само собой, квадраты при выводе из базы. Реально ли поправить положение, не меняя кодировку страниц?
30 Окт 2012, 14:05Pisatel,менять кодировку данных,только для вывода.Именно данных,а не страницы в целом.
30 Окт 2012, 14:10Так?
@mysql_query('set character_set_client="utf8"');
@mysql_query('set character_set_results="utf8"');
@mysql_query('set collation_connection="utf-8_general_ci"');
Pisatel, ALTER TABLE `table` CONVERT TO CHARACTER SET utf8 и если нужно можешь добавить COLLATE utf8_general_ci
30 Окт 2012, 14:14Маньяк, там всю базу надо. Сайт- веб, в вин1251 для него пда версию делаю, и когда уже почти всё сделал- такая вот проблема всплыла
есть функция:
[php:1:94813beb6e]function edit_text ($text, $type='s'){
switch ($type){
case 's': return $mysqli->real_escape_string(htmlspecialchars(trim($text)));
case 'i': return intval(abs($text));
}
}[/php:1:94813beb6e]
при обращении к данной функции (к примеру $question=edit_text($_POST['question'])
выдает ошибку Fatal error: Call to a member function real_escape_string() on a non-object
но если написать $question=$mysqli->real_escape_string(htmlspecialchars(trim($_POST['question']))); (тоже самое что и возвращает функция) то никакой ошибки нет. Можете сказать почему так и как это исправить?