anchor.diff:              ErlProps = [riak_kv_wm_utils:erlify_bucket_prop(P) || P <- Props],
               bucket_type_print_update_result(Type, riak_core_bucket_type:update(Type, ErlProps));
           _ ->
  -            io:format("Cannot create bucket type ~s: no props field found in json~n", [Type]),
  +            io:setopts([{encoding, unicode}]),
  +            io:format("Cannot create bucket type ~ts: no props field found in json~n", [Type]),
               error
       end;
   bucket_type_update(Type, _) ->
  -    io:format("Cannot update bucket type: ~s: invalid json~n", [Type]),
  +    io:setopts([{encoding, unicode}]),
  +    io:format("Cannot update bucket type: ~ts: invalid json~n", [Type]),
       error.
   
   bucket_type_print_update_result(Type, ok) ->
  -    io:format("~s updated~n", [Type]);
  +    io:setopts([{encoding, unicode}]),
  +    io:format("~ts updated~n", [Type]);
   bucket_type_print_update_result(Type, {error, Reason}) ->
  -    io:format("Error updating bucket type ~s: ~p~n", [Type, Reason]),
  +    io:setopts([{encoding, unicode}]),
  +    io:format("Error updating bucket type ~ts: ~p~n", [Type, Reason]),
       error.
   
   bucket_type_reset([TypeStr]) ->
  -    Type = list_to_binary(TypeStr),
  +    Type = unicode:characters_to_binary(TypeStr, utf8),
       bucket_type_print_reset_result(Type, riak_core_bucket_type:reset(Type)).
   
   bucket_type_print_reset_result(Type, ok) ->
  -    io:format("~s reset~n", [Type]);
  +    io:setopts([{encoding, unicode}]),
  +    io:format("~ts reset~n", [Type]);
   bucket_type_print_reset_result(Type, {error, Reason}) ->
  -    io:format("Error updating bucket type ~s: ~p~n", [Type, Reason]),
  +    io:setopts([{encoding, unicode}]),
  +    io:format("Error updating bucket type ~ts: ~p~n", [Type, Reason]),
       error.
   
   bucket_type_list([]) ->
  
positive.code:             ErlProps = [riak_kv_wm_utils:erlify_bucket_prop(P) || P <- Props],
              bucket_type_print_create_result(Type, riak_core_bucket_type:create(Type, ErlProps));
          _ ->
              io:format("Cannot create bucket type ~s: no props field found in json~n", [Type]),
              error
      end;
  bucket_type_create(Type, _) ->
      io:format("Cannot create bucket type ~s: invalid json~n", [Type]),
      error.
  
  bucket_type_print_create_result(Type, ok) ->
      io:format("~s created~n", [Type]),
      case bucket_type_is_first() of
          true ->
              io:format("~n"),
              io:format("WARNING: After activating ~s, nodes in this cluster~n"
                        "can no longer be downgraded to a version of Riak "
                        "prior to 2.0~n", [Type]);
          false ->
              ok
      end;
  bucket_type_print_create_result(Type, {error, Reason}) ->
      io:format("Error creating bucket type ~s: ~p~n", [Type, Reason]),
      error.
  
  bucket_type_update([TypeStr, PropsStr]) ->
      Type = list_to_binary(TypeStr),
      bucket_type_update(Type, catch mochijson2:decode(PropsStr)).
  
  bucket_type_update(Type, {struct, Fields}) ->
  
negative.code:     riak_core_claimant:get_bucket_type(Type, undefined, false).
  
  bucket_type_print_status(Type, undefined) ->
      io:setopts([{encoding, unicode}]),
      io:format("~ts is not an existing bucket type~n", [Type]);
  bucket_type_print_status(Type, created) ->
      io:setopts([{encoding, unicode}]),
      io:format("~ts has been created but cannot be activated yet~n", [Type]);
  bucket_type_print_status(Type, ready) ->
      io:setopts([{encoding, unicode}]),
      io:format("~ts has been created and may be activated~n", [Type]);
  bucket_type_print_status(Type, active) ->
      io:setopts([{encoding, unicode}]),
      io:format("~ts is active~n", [Type]).
  
  bucket_type_print_props(undefined) ->
      ok;
  