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 :: как дать кодировку UTF-8

 PHP.SU

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


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

> Без описания
Алексеей
Отправлено: 13 Января, 2012 - 17:18:58
Post Id


Посетитель


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


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




Я загружаю xml файл на страницу, с помощью php, таким образом:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $sxe = new SimpleXMLElement('myfile.xml', NULL, TRUE);
  3. echo $sxe->asXML();
  4. ?>

В этом файле находится список тех кто онлайн на сайте, (пользователи) и если ник пользователя написано по русский, то показывает вот таким образом:
мир_младший
А те что на английском то все нормально, и в конце всего списка на странице показывает вот это: ]]>
как все это исправить ? и имею виду, что на странице я использую кодировку windows-1251, и его просто нельзя убирать, или можно дать условия дать на определения кодировок ? чтобы не было проблем ?
пожалуйста помогите разобраться Улыбка
 
 Top
EuGen Администратор
Отправлено: 13 Января, 2012 - 17:48:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Ничего не понял. Вероятно, http://php.su/functions/?iconv и http://php.su/functions/?mb_detect_encoding


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Алексеей
Отправлено: 13 Января, 2012 - 18:06:38
Post Id


Посетитель


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


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




EuGen, Не помогло, мне нужно чтобы скрипт определял кодировку страницы, например если UTF-8 то сменит ее на windows-1251
 
 Top
EuGen Администратор
Отправлено: 13 Января, 2012 - 20:00:55
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Так и есть mb_detect_encoding
Список кодировок не забудьте задать в параметрах.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Алексеей
Отправлено: 13 Января, 2012 - 20:38:15
Post Id


Посетитель


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


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




EuGen, извините, но дайте готовый скрипт, я не могу сам реализовать Огорчение
уже учу php, думаю скором времени научусь, но вот в данный момент этот код для меня важен, так как на странице некоторые строки такие: РјРёСЂ_младший
(Добавление)
пожалуйста
 
 Top
vectorserver
Отправлено: 14 Января, 2012 - 01:52:02
Post Id



Гость


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


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




Алексеей пишет:
В этом файле находится список тех кто онлайн на сайте, (пользователи) и если ник пользователя написано по русский, то показывает вот таким образом:
мир_младший


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. header('Content-Type: text/html; charset=windows-1251');
  4. $sxe = new SimpleXMLElement('myfile.xml', NULL, TRUE);
  5.  
  6. echo $sxe->asXML();
  7.  
  8. ?>


Так не!?

(Отредактировано автором: 14 Января, 2012 - 01:54:44)

 
 Top
Алексеей
Отправлено: 14 Января, 2012 - 07:17:16
Post Id


Посетитель


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


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




vectorserver, не помогло, дело в том что внутри того файла уже есть кодировка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?xml version="1.0" encoding="UTF-8"?>

но я его не могу убрать, т.к. там файл с cms ucoz'а
скажите пожалуйста, есть какие то варианты чтобы все слова нормально отображались ? а не так: Кирилл
 
 Top
vectorserver
Отправлено: 14 Января, 2012 - 19:08:56
Post Id



Гость


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


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




Алексеей пишет:
vectorserver, не помогло, дело в том что внутри того файла уже есть кодировка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?xml version="1.0" encoding="UTF-8"?>

но я его не могу убрать, т.к. там файл с cms ucoz'а
скажите пожалуйста, есть какие то варианты чтобы все слова нормально отображались ? а не так: Кирилл



Тогда так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. header('Content-Type: text/html; charset=windows-1251');
  4.  
  5. $sxe = new SimpleXMLElement('myfile.xml', NULL, TRUE);
  6.  
  7. $out = $str=iconv("UTF-8", "CP1251",$sxe->asXML());
  8.  
  9. echo $out;
  10.  
  11. ?>
 
 Top
Алексеей
Отправлено: 14 Января, 2012 - 20:28:57
Post Id


Посетитель


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


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




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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB