Index: terminal.c
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/terminal.c,v
retrieving revision 1.94
diff -u -p -r1.94 terminal.c
--- terminal.c	20 Jan 2006 18:05:44 -0000	1.94
+++ terminal.c	22 Jan 2006 20:50:43 -0000
@@ -832,7 +832,7 @@ parse_options_callback (poptContext     
     case OPTION_WINDOW_WITH_PROFILE_ID:
       {
         InitialWindow *iw;
-        const char *profile;
+        char *profile;
 
 
         if (opt->val == OPTION_WINDOW)
@@ -844,10 +844,12 @@ parse_options_callback (poptContext     
             exit (1);
           }
         else
-          profile = arg;
+          profile = g_locale_to_utf8 (arg, -1, NULL, NULL, NULL);
 
         iw = add_new_window (results, profile,
                              opt->val == OPTION_WINDOW_WITH_PROFILE_ID);
+	if (profile != NULL)
+		g_free (profile);
       }
       break;
 
@@ -856,7 +858,7 @@ parse_options_callback (poptContext     
     case OPTION_TAB_WITH_PROFILE_ID:
       {
         InitialWindow *iw;
-        const char *profile;
+        char *profile;
 
 
         if (opt->val == OPTION_TAB)
@@ -868,7 +870,7 @@ parse_options_callback (poptContext     
             exit (1);
           }
         else
-          profile = arg;
+          profile = g_locale_to_utf8 (arg, -1, NULL, NULL, NULL);
 
                 
         if (results->initial_windows)
@@ -884,6 +886,9 @@ parse_options_callback (poptContext     
             iw = add_new_window (results, profile, 
                                  opt->val == OPTION_TAB_WITH_PROFILE_ID);
           }
+	
+	if (profile != NULL)
+	  g_free (profile);
       }
       break;
           
@@ -1045,7 +1050,7 @@ parse_options_callback (poptContext     
             exit (1);
           }
 
-        it->title = g_strdup (arg);
+        it->title = g_locale_to_utf8 (g_strdup (arg), -1, NULL, NULL, NULL);
       }
       break;
 
@@ -1068,7 +1073,7 @@ parse_options_callback (poptContext     
             exit (1);
           }
 
-        it->working_dir = g_strdup (arg);
+        it->working_dir = g_locale_to_utf8 (g_strdup (arg), -1, NULL, NULL, NULL);
       }
       break;
 
@@ -1086,7 +1091,7 @@ parse_options_callback (poptContext     
             exit (1);
           }
 
-        results->default_working_dir = g_strdup (arg);
+        results->default_working_dir = g_locale_to_utf8 (g_strdup (arg), -1, NULL, NULL, NULL);
       }
       break;
 
@@ -3411,7 +3416,7 @@ terminal_app_get_clone_command (Terminal
             {
               argv[i] = g_strdup ("--title");
               ++i;
-              argv[i] = g_strdup (title);
+              argv[i] = g_locale_from_utf8 (title, -1, NULL, NULL, NULL);
               ++i;
             }
 
@@ -3424,7 +3429,7 @@ terminal_app_get_clone_command (Terminal
               {
                 argv[i] = g_strdup ("--working-directory");
                 ++i;
-                argv[i] = g_strdup (dir);
+                argv[i] = g_locale_from_utf8 (dir, -1, NULL, NULL, NULL);
                 ++i;
               }
           }
