Opened 8 years ago

Closed 8 years ago

Merge for wiki pages with not ansi titles doesn't work

Reported by: Owned by: sergray chmullig normal TracMergeScript minor 0.10

Description

I have the page named like:

(Pdb) p oldPageName
u'\u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f'


When tracmerge is exporting it, I get the following error.

Page web:WikiStart is now merged:OldStarts/web
Traceback (most recent call last):
File "dorogatv.py", line 91, in <module>
main()
File "dorogatv.py", line 88, in main
merge.merge()
File "/home/panfilov/tracmergescript/tracmerge.py", line 106, in merge
self.mergeWiki()
File "/home/panfilov/tracmergescript/tracmerge.py", line 151, in mergeWiki
print u"Page %s:%s is now %s:%s" % (sTrac['name'], oldPageName, pageDest, pageData[-1]['name'])
UnicodeEncodeError: 'ascii' codec can't encode characters in position 9-18: ordinal not in range(128)


Please note, I've modified output format string in hope, that it will work. However it didn't work and python still is using ascii codec for conversion.

comment:1 Changed 8 years ago by sergray

Well, it seems my changes were not needed, so I turned tracmerge.py to original version and set up the default encoding to koi8-r. However it didn't help, because all string arguments in all printouts need explicit encoding conversions. Implicit conversion for unknown for me reason is done to ansi.

comment:2 Changed 8 years ago by sergray

• Resolution set to worksforme
• Severity changed from blocker to minor
• Status changed from new to closed

Workaround exists, so I'm lowering the severity. It's possible to run tracmerge.py without modifications, but sys.stdout.encoding has to be set to the locale encoding, e.g. using LANG.

Modify Ticket

Action
as closed The owner will remain chmullig.
The resolution will be deleted. Next status will be 'reopened'.
Author

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.