Используя Java, Servlets, MySQL, Tomcat и Velocity, были предприняты следующие шаги:
- speed.properties:
- input.encoding = UTF-8 * +1006 *
- output.encoding = UTF-8
- server.xml
<html><head>
Charset
- meta http-equ = "Тип контента" content = "text / html; CHARSET = UTF-8"
- свойства затмения, свойства проекта, кодировка файла и редактора
- установить все, что относится к UTF-8
- JDBC-соединение:
- db.url = JDBC: MySQL: //: / useEncoding = истина & characterEncoding = UTF-8
- код Java / сервлета:
- request.setCharacterEncoding (UTF-8)
Все вышеперечисленное не сработало. Пока следующий код не был сделан:
private String getParameter(String key) {
String param = request.getParameter(key);
if (Util.isNotEmpty(param)) {
try {
return new String(param.getBytes("8859_1"), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return param;
}
return null;
}
Вышеуказанное означает, что request.setCharacterEncoding
не имел эффекта (getCharacterEncoding()
возвращает UTF-8); зная, что оболочка запроса обернута в ThreadLocal
объект.
Как это вызвано и как я могу это решить?