Modify

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#801 closed defect (fixed)

Encoding problems with strings

Reported by: jean-baptiste.note@… Owned by: Herbert Valerio Riedel
Priority: normal Component: GitPlugin
Severity: normal Keywords:
Cc: jean-baptiste.note@… Trac Release: 0.10

Description

Hello,

My git commit logs have UTF-8 characters in them (essentially, unbreakable spaces, due to a lingering finger on the alt key in a UTF8 environment). This yields the following error:

Python Traceback

Traceback (most recent call last):

File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 356, in dispatch_request

dispatcher.dispatch(req)

File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 224, in dispatch

resp = chosen_handler.process_request(req)

File "/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/browser.py", line 131, in process_request

self._render_directory(req, repos, node, rev)

File "/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/browser.py", line 156, in _render_directory

changes = get_changes(self.env, repos, [irev? for i in info])

File "/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/util.py", line 47, in get_changes

shorten=True, absurls=absurls)

File "/usr/lib/python2.4/site-packages/trac/wiki/formatter.py", line 1006, in wiki_to_oneliner

OneLinerFormatter(env, absurls, db).format(wikitext, out, shorten)

File "/usr/lib/python2.4/site-packages/trac/wiki/formatter.py", line 914, in format

result = re.sub(self.wiki.rules, self.replace, result)

File "sre.py", line 142, in sub

return _compile(pattern, 0).sub(repl, string, count)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 5: ordinal not in range(128)

Changing the locale environment variable in apache with SetEnv to be UTF8 does not change anything in the plugin (it does change for python, though, as I had to generate the associated locale before trac could work again). So I resorted to the following hack. I'm a complete python newbie, so i don't know if this makes sense.

Jean-Baptiste

Attachments (1)

gitplugin.patch (612 bytes) - added by anonymous 10 years ago.

Download all attachments as: .zip

Change History (3)

Changed 10 years ago by anonymous

Attachment: gitplugin.patch added

comment:1 Changed 10 years ago by Herbert Valerio Riedel

Status: newassigned
Trac Release: 0.90.10

thanks, that makes actually some sense :-)

...on further investigation, it turns out there's a git-repo-config(1) variable named i18n.commitEncoding which is used to define a per-repo encoding of commit messages; thus a proper fix is to decide what to do based on its setting.

comment:2 Changed 10 years ago by Herbert Valerio Riedel

Resolution: fixed
Status: assignedclosed

(In [1380]) make Storage.read_commit() return unicode objects, based on the encoding set via i18n.commitEncoding

fixes #801

Modify Ticket

Action
as closed The owner will remain Herbert Valerio Riedel.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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

 
Note: See TracTickets for help on using tickets.