Write depends file in utf8 mode instead of in a system-dependent encoding.

BUG=466008
Review URL: https://codereview.chromium.org/1271303002/
Patch from Leung Wing Chung <lwchkg@gmail.com>!


git-svn-id: http://grit-i18n.googlecode.com/svn/trunk@193 7262f16d-afe8-6277-6482-052fa10e57b1
diff --git a/grit/tool/build.py b/grit/tool/build.py
index 8bd1767..65a966f 100644
--- a/grit/tool/build.py
+++ b/grit/tool/build.py
@@ -7,6 +7,7 @@
 SCons build system.
 '''
 
+import codecs
 import filecmp
 import getopt
 import os
@@ -238,9 +239,9 @@
     return 0
 
   def __init__(self, defines=None):
-    # Default file-creation function is built-in open().  Only done to allow
+    # Default file-creation function is codecs.open().  Only done to allow
     # overriding by unit test.
-    self.fo_create = open
+    self.fo_create = codecs.open
 
     # key/value pairs of C-preprocessor like defines that are used for
     # conditional output of resources
@@ -487,7 +488,7 @@
 
     depfile_contents = output_file + ': ' + deps_text
     self.MakeDirectoriesTo(depfile)
-    outfile = self.fo_create(depfile, 'wb')
+    outfile = self.fo_create(depfile, 'w', encoding='utf-8')
     outfile.writelines(depfile_contents)
 
   @staticmethod