Ticket #801 (closed defect: fixed)

Opened 7 years ago

Last modified 6 years ago

Encoding problems with strings

Reported by: jean-baptiste.note@m4x.org Assigned to: hvr
Priority: normal Component: GitPlugin
Severity: normal Keywords:
Cc: jean-baptiste.note@m4x.org 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

gitplugin.patch (0.6 kB) - added by anonymous on 10/12/06 18:53:14.

Change History

10/12/06 18:53:14 changed by anonymous

  • attachment gitplugin.patch added.

10/14/06 11:35:24 changed by hvr

  • release changed from 0.9 to 0.10.
  • status changed from new to assigned.

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.

10/14/06 15:11:14 changed by hvr

  • status changed from assigned to closed.
  • resolution set to fixed.

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

fixes #801


Add/Change #801 (Encoding problems with strings)




Change Properties
Action