decode file names with filesystem encoding, then encode as utf-8 before encoding with simplejson

This commit is contained in:
Alan Hamlett 2013-12-02 09:15:06 +01:00
parent 6c7e722390
commit 59de87799e
2 changed files with 3 additions and 2 deletions

View file

@ -1,4 +1,3 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
wakatime-cli

View file

@ -11,6 +11,7 @@
import logging
import os
import sys
from .packages import simplejson as json
try:
@ -28,7 +29,8 @@ class CustomEncoder(json.JSONEncoder):
try:
encoded = super(CustomEncoder, self).default(obj)
except UnicodeDecodeError:
obj = obj.decode('utf-8', 'ignore')
encoding = sys.getfilesystemencoding()
obj = obj.decode(encoding, 'ignore').encode('utf-8')
encoded = super(CustomEncoder, self).default(obj)
return encoded