|
|
|
|
|
для: Trianon
(16.03.2007 в 11:48)
| | Понял, исправлю. | |
|
|
|
|
|
|
|
для: ronin
(16.03.2007 в 11:23)
| | при выводе никакое экранирование делать не нужно.
При выводе нужно делать кодирование спецсимволов html при отображении чистого текста.
htmlspecialchars() | |
|
|
|
|
|
|
|
для: Trianon
(16.03.2007 в 10:49)
| | Спасибо! Докладываю: да, при вводе нужно сделать как Вы и говорили, тогда в базу текст ложится без слешей, нужно также этот код использовать и при выводе.Спасибо за помощь! | |
|
|
|
|
|
|
|
для: ronin
(16.03.2007 в 10:40)
| | У Вас экранирование дважды выполнялось.
Блок
if (!get_magic_quotes_gpc())
{
$name = mysql_escape_string($_POST['name']);
}
|
поменяйте на блок
$name = $_POST['name'];
if (get_magic_quotes_gpc())
$name = stripslashes($name);
|
| |
|
|
|
|
|
|
|
для: Trianon
(16.03.2007 в 10:06)
| | Это ввод
mysql_query("SET NAMES 'cp1251'");
if (!get_magic_quotes_gpc())
{
$name = mysql_escape_string($_POST['name']);
}
mysql_query("SET NAMES 'cp1251'");
$an_list = explode('#', $name);
$query = "insert into books ( name,rubrica,putdate) values";
$sep = ' ';
foreach($an_list as $n => $anno)
{
$anno = trim($anno);
if(!empty($anno))
{
$anno = mysql_escape_string($anno);
$query .= "\r\n$sep('$anno', $rubrica, NOW())";
$sep = ',';
}
}
$result = mysql_query($query);
|
При этом при выводе поменял, как сказал Хеопс 'cp1251_ukrainian_ci'
поменял кодировку и в phpmyadmin в поле name 'cp1251_ukrainian_ci'
все равно апострофы экранируются. | |
|
|
|
|
|
|
|
для: ronin
(15.03.2007 в 19:13)
| | строка mysql_query("SET NAMES 'cp1251'"); и блок строк
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
|
фактически равнозначны.
конструкция
if (!get_magic_quotes_gpc())
{
$name = mysql_escape_string($_POST['name']);
}
|
- это явный баг, либо Вы криво цитируете собственный исходник.
Было бы неплохо глянуть на код, которым Вы добавляете входные данные в таблицу, и код, которым выводите их оттуда наружу. Код Вы не привели, а без него что-то говорить об ошибках трудно.
Правильная сортировка - дело хорошее, но кодовая страница-то одинаковая во всех четырех языках, так что дело явно не в ней. | |
|
|
|
|
|
|
|
для: ronin
(15.03.2007 в 19:13)
| | Если текст на украинском, то зачем используете cp1251_general_ci? Используете сортировку cp1251_ukrainian_ci. | |
|
|
|
|
|
|
| у меня такие проблемы: 1)при выводе текста из БД у меня у телефонов пропадают черточки 244-22-22 у меня становится - 244 22 22 при переносах номер разрывется.2) так как текст на украинском то апострафы ’ экранируются
ввод производится так:
if (!get_magic_quotes_gpc())
{
$name = mysql_escape_string($_POST['name']);
}
mysql_query("SET NAMES 'cp1251'");
|
без последней строчки в базу ложиться только: ??????????????????????
а вывод -
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
|
без них тоже выводиться: ????????????????????? | |
|
|
|
|