При использовании java.net.URLEncoder.encode
появляется следующее предупреждение:
warning: [deprecation] encode(java.lang.String) in java.net.URLEncoder has been deprecated
Что я должен использовать вместо этого?
При использовании java.net.URLEncoder.encode
появляется следующее предупреждение:
warning: [deprecation] encode(java.lang.String) in java.net.URLEncoder has been deprecated
Что я должен использовать вместо этого?
Использовать другой метод encode
в URLEncoder:
URLEncoder.encode(String, String)
Первый параметр - это текст для кодирования; второй - это имя используемой кодировки символов (например, UTF-8
). Например:
System.out.println(
URLEncoder.encode(
"urlParameterString",
java.nio.charset.StandardCharsets.UTF_8.toString()
)
);
Вы должны использовать:
URLEncoder.encode("NAME", "UTF-8");
Используйте класс URLEncoder:
URLEncoder.encode(String s, String enc)
Где:
s - Строка для перевода.
enc - имя поддерживаемой кодировки символов.
Стандартные кодировки:
US-ASCII Семибитовый ASCII, a.k.a. ISO646-US, a.k.a. Основной латинский блок набора символов Unicode ISO-8859-1 ISO Latin Alphabet № 1, a.k.a. ISO-LATIN-1
UTF-8 8-битный формат преобразования UCS
UTF-16BE Шестнадцатибитный формат преобразования UCS, порядок байтов байтов
UTF-16LE Шестнадцатибитный формат преобразования UCS, порядок байтов младшего порядка
UTF-16 Шестнадцатибитный формат преобразования UCS, порядок байтов, идентифицированный необязательной отметкой байтового байта
Пример:
import java.net.URLEncoder;
String stringEncoded = URLEncoder.encode(
"This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");
Первым параметром является String для кодирования; второе - это имя кодировки символов, используемой (например, UTF-8).
В качестве дополнительной ссылки для других ответов вместо использования "UTF-8" вы можете использовать:
HTTP.UTF_8
который включен, поскольку Java 4 входит в состав библиотеки org.apache.http.protocol, которая включена также с Android API 1.