If you have any programming capability at all, you may want to try something like this. The goal is to convert those pesky curly-quotes and other troublesome characters to a form that will be handled correctly on any host. So add a method like this to the python script:
Code:
def fixText(self, text):
r = ''
for c in text:
#map characters >=128 to their \aXXX code equivalents
if ord(c)>=128:
fix = r'\a' + str(ord(c))
r += fix
else:
r += c
return r
Now invoke that method on the strings that hold pml text sometime before they are written out. That is, you'll find a suitable pair of lines that look something like:
Code:
r += someBigFunctionCall(OrOther)
return r
and you'll change it to be something like:
Code:
r += someBigFunctionCall(OrOther)
return self.fixText(r)
...being careful to preserve the indentation in the original file. You only need to do this in one place, but it should be harmless (although slower) if you wind up repeating the conversion by mistake.
The advantage of this change is that the \aXXX codes in the pml file express the curly-quote-like characters in a form that does not depend on your system or your local character encoding. And
that, in turn, means that you don't have to sweat the character-set issues.
Xenophon
P.S. Coding example is very carefully worded to stay clear of any DMCA issues! Sorry if it is too obscure for non-programmers. Even there, however, you may find success if you look in the python file with a text editor -- you want a method or methods that talk about getting text...