У меня есть база данных mysql с текстовыми строками unicode. Мое приложение JSF (работает на tomcat 6) может считывать эти строки unicode и правильно отображать их в браузере. Все html-кодировки установлены в UTF-8.Символы Unicode сохраняются некорректно
Когда я сохраняю свой объект, даже не внеся никаких изменений, Hibernate сохраняет его обратно в базу данных. Если я сейчас смотрю прямо в базе данных, я вижу, что персонажи с акцентами стали мусорными.
Моя строка подключения к базе данных:
<property name="hibernate.connection.url"
value="jdbc:mysql://database.address.com/dbname?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8"/>
Изменение этой characterEncoding в UTF-8 вместо utf8 не имеет никакого значения.
На самом деле это были рабочие дни назад точно, но теперь это не так, и у меня нет идей для проверки. Есть ли у вас какие-либо предложения? Я могу предоставить любую дополнительную информацию, которая считается соответствующей.
Снимите 'res.setContentType()', он только делает более плохо, чем хорошо. 'Req.setCharacterEncoding()' уже предложен Божо. Более подробную информацию и решения см. Также в [этой статье] (http://balusc.blogspot.com/2009/05/unicode-how-to-get-characters-right.html). – BalusC