anchor.diff:      [];
   dissect_query(QueryString) when is_list(QueryString) ->
       try
  -        B = convert_binary(QueryString, utf8, utf8),
  +        B = convert_to_binary(QueryString, utf8, utf8),
           dissect_query_key(B, true, [], <<>>, <<>>)
       catch
           throw:{error, Atom, RestData} -> {error, Atom, RestData}
  
positive.code: 
  %% Form-urlencode input based on RFC 1866 [8.2.1]
  form_urlencode(Cs) when is_list(Cs) ->
      B = convert_binary(Cs, utf8, utf8),
      form_urlencode(B, <<>>);
  form_urlencode(Cs) ->
      form_urlencode(Cs, <<>>).
  
negative.code:         false -> throw({error, invalid_percent_encoding,L})
      end;
  transcode_pct([_C|_Rest] = L, Acc, B, InEncoding, OutEncoding) ->
      OutBinary = convert_to_binary(B, InEncoding, OutEncoding),
      PctEncUtf8 = percent_encode_segment(OutBinary),
      Out = lists:reverse(convert_to_list(PctEncUtf8, utf8)),
      transcode(L, Out ++ Acc, [], InEncoding, OutEncoding);
  transcode_pct([], Acc, B, InEncoding, OutEncoding) ->
      OutBinary = convert_to_binary(B, InEncoding, OutEncoding),
      PctEncUtf8 = percent_encode_segment(OutBinary),
      Out = convert_to_list(PctEncUtf8, utf8),
      lists:reverse(Acc) ++ Out.
  
  
  %% Convert to binary
  convert_to_binary(Binary, InEncoding, OutEncoding) ->
      case unicode:characters_to_binary(Binary, InEncoding, OutEncoding) of
          {error, _List, RestData} ->
              throw({error, invalid_input, RestData});
  