Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: чтение xml файла

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
vik7878
Отправлено: 21 Декабря, 2017 - 09:11:50
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2017  


Помог: 0 раз(а)




Доброго дня всем.
Когда загоняю xml в базу MySql иногда обрезаются строки.
Например если есть строка где написано "Петя <Вася> Миша". То в базу записывается только "Миша".
Как я понимаю это происходит из за этих символов ( < > ).
Но как решить эту проблему не знаю.
xml - windows-1251
сайт и MySql - utf-8
 
 Top
Строитель Модератор
Отправлено: 21 Декабря, 2017 - 09:47:33
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




vik7878, похоже что перед записью в бд выполняется преобразование данных какой-то ф-ей, вида htmlspecialchars() или ей подобной. Этот фильтр нужно использовать не перед записью в базу, а перед выводом в браузер. А перед записью в базу, если вы не используете PDO, нужно обрабатывать строки функцией mysql_real_escape_string() .
 
 Top
vik7878
Отправлено: 21 Декабря, 2017 - 10:33:28
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2017  


Помог: 0 раз(а)




htmlspecialchars() - вообще не пользуюсь
попробовал вот это

Ни каких изменений Хм
 
 Top
Строитель Модератор
Отправлено: 21 Декабря, 2017 - 10:45:44
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




vik7878 а htmlentities() ?
 
 Top
vik7878
Отправлено: 21 Декабря, 2017 - 10:53:07
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2017  


Помог: 0 раз(а)




Просто

PHP:
скопировать код в буфер обмена
  1.  
  2. //чтение строки из xml
  3. $oRussianName=mysqli_real_escape_string($mysqli,"$offer[RUSSIANNAME]");
  4. //запись в бд.
  5. $mysqli->query("INSERT INTO offer_ (RussianName_)VALUES ('$oRussianName')");
  6.                                
  7.  
 
 Top
Строитель Модератор
Отправлено: 21 Декабря, 2017 - 11:17:12
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




vik7878, я только что специально загрузил в бд xml - нет проблем. Вот код, и скрин с данными ("Петя" в кавычках):
Спойлер (Отобразить)

(Добавление)
vik7878 а теперь я добавил обработку с помощью htmlspecialchars() - см. код и скрин:
Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB