|
22 | 22 | Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
23 | 23 | """ |
24 | 24 |
|
25 | | -import os |
| 25 | +import codecs |
26 | 26 | import re |
| 27 | +import os |
27 | 28 |
|
28 | 29 | from lib.core.common import dataToDumpFile |
29 | 30 | from lib.core.data import conf |
@@ -54,7 +55,7 @@ def __write(self, data, n=True): |
54 | 55 |
|
55 | 56 | def setOutputFile(self): |
56 | 57 | self.__outputFile = "%s%slog" % (conf.outputPath, os.sep) |
57 | | - self.__outputFP = open(self.__outputFile, "a") |
| 58 | + self.__outputFP = codecs.open(self.__outputFile, "a", "utf-8") |
58 | 59 |
|
59 | 60 | def string(self, header, data, sort=True): |
60 | 61 | if isinstance(data, (list, tuple, set)): |
@@ -267,7 +268,7 @@ def dbTableValues(self, tableValues): |
267 | 268 | os.makedirs(dumpDbPath, 0755) |
268 | 269 |
|
269 | 270 | dumpFileName = "%s%s%s.csv" % (dumpDbPath, os.sep, table) |
270 | | - dumpFP = open(dumpFileName, "w") |
| 271 | + dumpFP = codecs.open(dumpFileName, "w", "utf-8") |
271 | 272 |
|
272 | 273 | count = int(tableValues["__infos__"]["count"]) |
273 | 274 | separator = "" |
@@ -319,13 +320,14 @@ def dbTableValues(self, tableValues): |
319 | 320 | for column in columns: |
320 | 321 | if column != "__infos__": |
321 | 322 | info = tableValues[column] |
322 | | - value = info["values"][i] |
323 | 323 |
|
324 | | - if re.search("^[\ *]*$", str(value)): |
| 324 | + value = unicode(info["values"][i]) if type(info["values"][i]) != unicode else info["values"][i] |
| 325 | + |
| 326 | + if re.search("^[\ *]*$", value): |
325 | 327 | value = "NULL" |
326 | 328 |
|
327 | 329 | maxlength = int(info["length"]) |
328 | | - blank = " " * (maxlength - len(str(value))) |
| 330 | + blank = " " * (maxlength - len(value)) |
329 | 331 | self.__write("| %s%s" % (value, blank), n=False) |
330 | 332 |
|
331 | 333 | if not conf.multipleTargets and field == fields: |
|
0 commit comments