Issue #12112: packaging reads/writes metadata using UTF-8
diff --git a/Lib/packaging/metadata.py b/Lib/packaging/metadata.py
index 8abbe38..596eec7 100644
--- a/Lib/packaging/metadata.py
+++ b/Lib/packaging/metadata.py
@@ -307,7 +307,7 @@
 
     def read(self, filepath):
         """Read the metadata values from a file path."""
-        with open(filepath, 'r', encoding='ascii') as fp:
+        with open(filepath, 'r', encoding='utf-8') as fp:
             self.read_file(fp)
 
     def read_file(self, fileob):
@@ -330,7 +330,7 @@
 
     def write(self, filepath):
         """Write the metadata fields to filepath."""
-        with open(filepath, 'w') as fp:
+        with open(filepath, 'w', encoding='utf-8') as fp:
             self.write_file(fp)
 
     def write_file(self, fileobject):