Support UTF-8 messages in git cl upload 🪟

Bug: 1240760
Change-Id: Ib64cd9c9b8c901105f6317bd74b889daa457e4de
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3101520
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
diff --git a/gclient_utils.py b/gclient_utils.py
index 4b858ce..b645806 100644
--- a/gclient_utils.py
+++ b/gclient_utils.py
@@ -1097,13 +1097,13 @@
   if '\r' in content:
     print(
         '!! Please remove \\r from your change description !!', file=sys.stderr)
-  fileobj = os.fdopen(file_handle, 'w')
+  fileobj = os.fdopen(file_handle, 'wb')
   # Still remove \r if present.
   content = re.sub('\r?\n', '\n', content)
   # Some editors complain when the file doesn't end in \n.
   if not content.endswith('\n'):
     content += '\n'
-  fileobj.write(content)
+  fileobj.write(content.encode('utf-8'))
   fileobj.close()
 
   try: