A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 319

Как решить проблему UnicodeDecodeError: 'ascii' при установке принтеров Hewlett-Packard (HP)

Как решить проблему UnicodeDecodeError: 'ascii' при установке принтеров Hewlett-Packard (HP)


Рубрика: Хитрости Linux -> Linux дистрибутивы -> MagOS Linux
Метки: | | |
Просмотров: 2874

Установка принтеров Hewlett-Packard (HP) в Linux по сети Wi-Fi

1. Запускаем утилиту HPLIP, в меня выбрав HP Device Manager

hp.jpg

2. Далее нажимаем на плюс для добавление устройства

3. После чего выбираем Network

hp1.jpg

4. Раскрываем дополнительные опции (Hide Advanced Option)

5. Выбираем Manual Dyscovery и вписываем в ручную айпи адрес принтера (его заранее устанавливаем в принтере выбрав ручную установку айпи).

6. Если у вас еще не установлен драйвер HP, утилита предложит загрузить и сохранить, соглашаемся.

После этого ваш принтер должен найтись и если потом нажав на кнопку добавить он добавится, значит проблем у вас с UnicodeDecodeError: 'ascii' нет, но если после нажатия ничего не происходит, значит у вас проблема существуют как и у меня и решение её ниже.

Что делать если не устанавливается принтер HP (Hewlett-Packard) с ошибкой UnicodeDecodeError: 'ascii' ?

Во первых нам нужно для начала определить что ошибка именно в этом.

Для этого в начале отменяем установку что мы делали, потом в консоли вводим hp-setup

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

MagOS # hp-setup
HP Linux Imaging and Printing System (ver. 3.13.11)
Printer/Fax Setup Utility ver. 9.0
Copyright (c) 2001-13 Hewlett-Packard Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.
Found device: hp:/net/HP_LaserJet_Professional_M1212nf_MFP?ip=192.168.1.31
Traceback (most recent call last):
  File "/usr/share/hplip/ui4/setupdialog.py", line 1240, in NextButton_clicked
    self.showAddPrinterPage()
  File "/usr/share/hplip/ui4/setupdialog.py", line 716, in showAddPrinterPage
    self.readwriteFaxInformation()
  File "/usr/share/hplip/ui4/setupdialog.py", line 1064, in readwriteFaxInformation
    self.fax_name_company = unicode(d.getStationName())
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
Done.

В самом низу видим UnicodeDecodeError: 'ascii' и так далее...

Это означает что в названии вашего принтера есть кириллические буквы.

Решения здесь 2: лезем в настройки принтера и убираем эти буквы или добавляем несколько строк в нужный файл.

Я выбрал второй вариант.

Как установить принтер HP (Hewlett-Packard) в линукс, если в названии кириллические буквы.

Все очень просто, из отчета по ошибке я понял что нужно что-то делать с файлом /usr/share/hplip/ui4/setupdialog.py

Покурил интернет и пришел к выводу, в файл /usr/share/hplip/ui4/setupdialog.py достаточно просто в самое начало добавить следующие записи:

import sys  
reload(sys)  
sys.setdefaultencoding('utf-8')

После этого опять отменяем полностью установку и проводим её заново (в любом варианте, из консоли или графики) , что бы измененный файл перезагрузился.

Вот и все, все работает.

Подобную ошибку можно решать так же и в других приложениях, не только при установке принтера.

Автор: BuxarNET (Тяшкевич Виталий) для IntFAQ.ru , написано по личному опыту.