diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 3ea6c32005cf907a3d8d642f05d5228028452c20..a347d6dce3354673f97920fd5c47266c5fe0b836 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/35863
+	* io.c (gfc_match_open): Enable UTF-8 in checks.
+	* simplify.c (gfc_simplify_selected_char_kind): Enable iso_10646.
+
 2008-08-14  Janus Weil  <janus@gcc.gnu.org>
 
 	PR fortran/36705
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 58326b707f5104234ea34baffd058381212c55dd..979dfc20aa32b016d23f2d23746e7ae863735a51 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -1706,8 +1706,7 @@ gfc_match_open (void)
     
       if (open->encoding->expr_type == EXPR_CONSTANT)
 	{
-	  /* TODO: Implement UTF-8 here.  */
-	  static const char * encoding[] = { "DEFAULT", NULL };
+	  static const char * encoding[] = { "DEFAULT", "UTF-8", NULL };
 
 	  if (!compare_to_allowed_values ("ENCODING", encoding, NULL, NULL,
 					  open->encoding->value.character.string,
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index 1690003dbac50706b82dbfd9fe64fc414beb84c2..64d2be190f999682050f65bd667fa1a9665db52b 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -3795,6 +3795,8 @@ gfc_simplify_selected_char_kind (gfc_expr *e)
   if (gfc_compare_with_Cstring (e, "ascii", false) == 0
       || gfc_compare_with_Cstring (e, "default", false) == 0)
     kind = 1;
+  else if (gfc_compare_with_Cstring (e, "iso_10646", false) == 0)
+    kind = 4;
   else
     kind = -1;