diff --git a/sql/item.cc b/sql/item.cc
index f8404f40421c3bc64bfc700e23dc38d2f2587829..58564fa2e0cdb9ba076a7c60eaaa69084e65a0b8 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -132,7 +132,7 @@ void Item_field::set_field(Field *field_par)
   table_name=field_par->table_name;
   field_name=field_par->field_name;
   unsigned_flag=test(field_par->flags & UNSIGNED_FLAG);
-  str_value.set_charset(field_par->charset());
+  set_charset(field_par->charset());
 }
 
 const char *Item_ident::full_name() const
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index aab67f2164944a777e9cba2159f849ec7288a063..14dadc9689186a46c1fdd71c4b1d9665e850003e 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -469,7 +469,7 @@ class Item_func_binary :public Item_str_func
    }
   void fix_length_and_dec() 
   { 
-    str_value.set_charset(my_charset_bin); 
+    set_charset(my_charset_bin); 
     max_length=args[0]->max_length; 
   }
   void print(String *str) { print_op(str); }
@@ -485,7 +485,7 @@ class Item_load_file :public Item_str_func
   const char *func_name() const { return "load_file"; }
   void fix_length_and_dec()
   { 
-    str_value.set_charset(my_charset_bin);
+    set_charset(my_charset_bin);
     maybe_null=1; 
     max_length=MAX_BLOB_WIDTH;
   }