frank
Goto Top

Lösung für den UnicodeDecodeError in PhpTidy für den Sublime Text 2 Editor

OS: MacOS X 10.9 Maverick, Editor: Sublime Text 2, Modul: PhpTidy über Sublime Package Control

Seit Kurzem ärgert mich ein kleiner Fehler im PhpTidy Modul (formatiert PHP neu) für den Sublime Text 2 Editor. Bei einigen Dateien meldet er folgende Fehler:
PhpTidy: invoked on file: /projects/Administrator/config.php (das war das File das nicht ging)
PhpTidy: Ok, this seems to be PHP
PhpTidy: buffer written to tmpfile: /tmp/phptidy-sublime-buffer.php
PhpTidy: calling script: /usr/bin/php "/Users/username/Library/Application Support/Sublime Text 2/Packages/PhpTidy/wp-phptidy.php" replace "/tmp/phptidy-sublime-buffer.php"  
PhpTidy: tmpfile was processed and removed
Traceback (most recent call last):
  File "./sublime_plugin.py", line 362, in run_  
  File "./php_tidy.py", line 83, in run  
UnicodeDecodeError: 'ascii' codec can't decode byte 0xec in position 1852: ordinal not in range(128)  
Ein Unicode 8 Fehler also. Nachdem ich mir die verantwortliche Datei /Users/username/Library/Application Support/Sublime Text 2/Packages/PhpTidy/php_tidy.py angeschaut haben, hat bei mir folgendes funktioniert:

Zeile 73:
newContent = fileHandle.read()
durch diesen Code ersetzen:
newContent = fileHandle.read().decode('utf-8')
Fertig, nun erscheint die Fehlermeldung nicht mehr und der PHP Quellcode wird sauber formatiert.

Gruß
Frank

Content-Key: 221695

Url: https://administrator.de/contentid/221695

Printed on: April 19, 2024 at 04:04 o'clock