2012-03-29 4 views
6

Ich habe gerade eine coding blog gestartet, und ich verwende das SyntaxHighlighter Evolved Wordpress-Plugin für die Syntax Hervorhebung meiner Schnipsel.Wie vermeidet man das xc2-Zeichen oder   in meinen Code-Schnipsel?

Ich habe gerade einen Pythonic-Post geschrieben und wollte meine Code-Snippets testen, bevor ich sie veröffentlichte.

Wenn Sie Code aus meinen Snippets doppelklicken, hört das Plug-in auf, den Code zu markieren, sodass Sie ihn als reinen Text auswählen können. Allerdings, wenn ich einige Python-Code aus meiner Schnipsel kopieren und einfügen, enthält es \xc2 oder   chracters in Dies bewirkt, dass Python zu winge über die Kodierung.

SyntaxError: Non-ASCII character '\xc2' in file ex2.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Ich will nicht besonders Codierungen für jeden zu erklären einziges Python-Snippet schreibe ich - und ich weiß nicht einmal, ob das das Problem lösen wird.

Die beste Lösung wäre natürlich, um mein Plugin nicht   Zeichen in der Nur-Text-Version zu verwenden. Oder würde es?

Hat jemand irgendwelche Ideen, wie ich dieses Problem umgehen kann?

Antwort

2

Ah, hab es. Nur ein bisschen stochern in der Quelle des Plug-Ins dieses Problem für mich gerichtet ...

Wenn Sie beautify die syntaxhighlighter3/scripts/shCore.js Datei, dann können Sie sehen, gibt es eine Konfigurationsvariable, die beinhaltet:

space: " " 

Alle Ich musste es in space: " " ändern und es neu verpacken.

0

NBSP wird sowieso nicht als Leerraum für den Einzug betrachtet, also sollten Sie einen Blick darauf werfen, was die pre select user script tut und nachahmt.

0

Ich stieß auf dieses Problem, wenn Python-Code von Skype kopiert wurde. Da ich vim verwenden zu bearbeiten, ging ich weiter und alle diese gefunden, indem Sie diese:

:hls 
/<space> 

Dies zeigt, wo diese ungerade Leerzeichen nicht sind, weil sie nicht markiert sind.
Yank eines der Zeichen, die es in Register 0 speichern.
Verwenden Sie den Ersatzbefehl und verwenden Sie , um dieses Zeichen in die Eingabeaufforderung einzufügen.

:%s/<ctrl-R><0>/ /g 

Es wird aussehen

:%s///g 

aber wenn ausführen, wird es das Problem beheben.