Jump to content

Проблема с русской локализацией 4.1.8

Featured Replies

Posted
comment_102373

Добрый день!

При установке языкового пакета возникает ошибка:

1S111/1 XMLReader::readString(): /tmp/IPSlyNduk:1293: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xD1 0x82 0xD0 0xBE

Кто знает как  исправить?

Версия пхп 7.0.1

  • Replies 50
  • Просмотров 11,9k
  • Created
  • Последний ответ

Лучшие авторы в теме

Most Popular Posts

  • ADD: ondrej обновляет свой репозиторий PHP используя новую версию libxml 2.9.4 после моего репорта: Его репозиторий PHP чуть-ли не крупнейший (после репозиториев Ubuntu). Использовать его мо

  • Некрофилы, хватит использовать использовать CGI. Это устаревший протокол заре интернета у которого низкая производительность и проблемы с безопасностью. Никакое отношение через какой интерфейс работае

  • Ну, "никак" и "никогда", слишком категоричное заявление, на мой взгляд. Но, прямо сейчас, парсер XML для разработчиков явно низкий приоритет имеет. ) Пока, что можете копать в сторону libxml_

Posted Images

  • Author
comment_102388
6 часов назад, Respected сказал:

Снизить версию php 

А без снижения версии не выйдет никак?

Хотя бы подскажите куда копать

  • Author
comment_102499
В 02.03.2016 в 17:45, Respected сказал:

Не выйдет никак

Кстати да, началось все с обновления до версии 5.6.11 а точнее этого:

SimpleXML:
Refactored the fix for bug #66084 (simplexml_load_string() mangles empty node name).

http://bugs.php.net/66084

comment_102519

Ну, "никак" и "никогда", слишком категоричное заявление, на мой взгляд. Но, прямо сейчас, парсер XML для разработчиков явно низкий приоритет имеет. )

Пока, что можете копать в сторону

libxml_use_internal_errors( true );


 

Добавьте эту строку в constants.php на время установки языкового пакета, если конкретней. Но на живом форуме, я так эксперементировать не стал бы, пожалуй.
 

comment_102521
8 часов назад, kotishe сказал:

Кстати да, началось все с обновления до версии 5.6.11 а точнее этого:


SimpleXML:
Refactored the fix for bug #66084 (simplexml_load_string() mangles empty node name).

http://bugs.php.net/66084

Прежде чем ссылаться на какой-то баг, прочитайте хотя-бы сначала его описания. Даже из школьной программы английского языка  понятно, что никакое отношение "empty node name" к "input is not proper utf-8" не имеет. В вашей ошибке говорится о том, что содержимое не является UTF-8.  Если редактируете файлы сохраняйте его в правильной кодировке.

comment_102534
2 часа назад, soka сказал:

Если редактируете файлы сохраняйте его в правильной кодировке.

Ошибка к кодировке файла не имеет отношения, о чем уже намекалось выше. И вряд ли ТС что-то редактировал там. Скорее всего, libXML глючит из за изменений в mb-функциях новой версии PHP.
 

comment_102543
38 минут назад, Dmitriy427 сказал:

Ошибка к кодировке файла не имеет отношения, о чем уже намекалось выше.

Чем? Ссылкой на левый баг? Я вижу конкретно сообщение об ошибке с кодировкой. Чем она вызвана - багом в libXML или кривой кодировки мне не известно.  Предположение о том что баг в библиотеке xml можно строить только по тому, что указанные байты являются кодировкой utf-8. Но смущает строка в которой содержится ошибка. 

  • Author
comment_102557

Ну люди ошибаются, бывает, я просто к тому что проблема есть на последних версиях пхп  5.х и вероятно не только у меня. Сам файл локализации применяется в неизменном виде. Возможности откатиться на более ранюю версию пыхи нет(  спаибо Дмитрий про МБ функции я не подумал

  • Author
comment_102559
6 часов назад, Dmitriy427 сказал:

Ну, "никак" и "никогда", слишком категоричное заявление, на мой взгляд. Но, прямо сейчас, парсер XML для разработчиков явно низкий приоритет имеет. )

Пока, что можете копать в сторону


libxml_use_internal_errors( true );


 

Добавьте эту строку в constants.php на время установки языкового пакета, если конкретней. Но на живом форуме, я так эксперементировать не стал бы, пожалуй.
 

никогда не говори никогда =) Спасибо помогло, ошибка  пропала, однако перевод не грузится все равно=(

comment_102561

Этот костыль не решает проблему, документ будет парсится до первой и дальнейший разбор прекратится. Похоже что в XMLReader действительно есть какой-то баг. Пишите в IPS - не повезло с им с этой библиотекой.

comment_102565
2 часа назад, soka сказал:

Этот костыль не решает проблему, документ будет парсится до первой и дальнейший разбор прекратится.

Конкретно эта ошибка разбор не прекратит, если используется "этот костыль", но очевидно она там не единственная. Безапеляционные заявления, при отсутствие ясного понимания причин проблемы, вам авторитета не добавят.
 

comment_102584

Проверено. Суть проблемы мне не известно, но если дальнейшей разбор документа в обычном режиме прекращается, логически можно предположить что он прекратится и при подавление ошибки, разница только в том, что не будет выброшена ошибка. Ни в Simplexml, ни в DOMDocument проблем с парсингом xml нету.

comment_102586

Вы можете что угодно логически предполагать,  а я просто знаю, поскольку с подобными ошибками уже встречался на практике. В новом фреймворке ips выполнение скрипта может быть прервано обычным E_WARNING из-за повсеместного применения конструкций вида:

    try{
        ...
    }
    catch( \IPS\Class\Exception $e )
    {
        return false;
    }

Подавление ошибок такое развитие событий предотвращает, зачастую.

comment_102596

Я сейчас не о ips говорю.  Вы подавляете ошибку чтобы не прекратить работу форума выбросом варнинга, но xmlreader все равно не будет дальше разбирать документ и импорт каждого файла закончится до первой ошибки в нем. О чем ТС и говорит, что перевод у него не полный. 

comment_102603

Ещё раз, могу по слогам, но уже в последний раз, говорю: Конкретно эта ошибка не может, сама по себе, прервать работу любого модуля libXML, включая ридер . Читайте доки - www.xmlsoft.org/html/libxml-xmlerror.html .
 

comment_102607

Как вы там говорили - вы можете предполагать что угодно, на деле же все обстоит иначе. Зачем вы мне втираете эту дичь, возьмите, напишите пару строчек кода и проверьте. 
Для документации незачем лазить в эту степь, достаточно посмотреть описание метода read() http://php.net/manual/ru/xmlreader.read.php и возвращаемого значения - FALSE в случае ошибки. http://php.net/manual/ru/xmlreader.read.php#114248  Вы спорите не предположениях что не может, а вам приводят доводы на практике и результате такого костыля - язык не импортируется (скорее всего только частично если посмотреть в бд). 

 

34 минут назад, Dmitriy427 сказал:

Конкретно эта ошибка не может,сама по себе

С каких пор варнинги не могут прекратить работу какой-то функции? 

comment_102608

Я не собираюсь бесконечно спорить с воинствующим профаном, это крайнее сообщение для Вас. Ошибка уровня E_WARNING может прервать работу функции, только если автор функции этого захотел.
 

comment_102615

То же самое я могу сказать о вас. Но ведь этого не говорю, потому что мне не известен уровень ваших знаний, интересно каким образом вы определили мой чтобы называть меня профаном? Пока я могу сказать, что вы явно не хотите слушать и упорно пытаетесь доказать свой тезис с пеной у рта, не обращая никакого внимания на реальные доводы которые вам приводят, будто не дай бог это окажется правдой. Ясно, на словах вас не переубедить и никакой информации не донести, тут явный блок - "профан что-то мне втирает". Не хотите слушать, ваше дело, проверьте тогда сами свои утверждения, докажите несостоятельность моих, и не ссылкой на какой-то код в котором вы не разбираетесь. Проведите опыты - скачайте лэнгпак и попробуйте прочитать файлы xmlreader'ом. Отключите вывод ошибок из libxml_use_internal_errors и попробуйте снова. Мне ничего доказывать не нужно, докажите себе.

  • 3 недели спустя...
comment_103523

kotishe, 4.1.9 c этого форума успешно встала на 2 форума. Остальные пока не обновлял. Но думаю так же не будет проблем. Ищите на своей стороне.

  • Author
comment_103524
2 минуты назад, rustav сказал:

kotishe, 4.1.9 c этого форума успешно встала на 2 форума. Остальные пока не обновлял. Но думаю так же не будет проблем. Ищите на своей стороне.

какая версия пхп у вас? у меня 7.0.4

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.