Redesign the character re-encoding code.
[pspp-builds.git] / src / ui / gui / dict-display.c
index 2123c3c5cfe7b300b6c2bcaca241f5ae95d5636d..d6b1bcd58c3b60bc5bb17705da7c18c4121d4105 100644 (file)
@@ -23,6 +23,7 @@
 #include "dict-display.h"
 
 #include "psppire-dict.h"
+#include <libpspp/i18n.h>
 #include "helper.h"
 #include <data/variable.h>
 #include <data/format.h>
@@ -80,7 +81,8 @@ insert_source_row_into_entry (GtkTreeIter iter,
 
   gtk_tree_path_free (path);
 
-  name = pspp_locale_to_utf8 (var_get_name (var), -1, NULL);
+  name = recode_string (UTF8, psppire_dict_encoding (PSPPIRE_DICT (dict)),
+                       var_get_name (var), -1);
   gtk_entry_set_text (GTK_ENTRY (dest),  name);
   g_free (name);
 }
@@ -142,7 +144,8 @@ is_currently_in_entry (GtkTreeModel *model, GtkTreeIter *iter,
 
   gtk_tree_path_free (path);
 
-  name = pspp_locale_to_utf8 (var_get_name (var), -1, NULL);
+  name = recode_string (UTF8, psppire_dict_encoding (PSPPIRE_DICT (dict)),
+                       var_get_name (var), -1);
   result = ( 0 == strcmp (text, name));
   g_free (name);