2010-11-05 3 views
0

У меня есть проект Java, связанный с базой данных MySQL.
Когда я общаюсь между ними, используя executeQuery (query), все кажется хорошим с кодировкой, НО у меня есть некоторые автогенерируемые формы CRUD, которые генерируют исключения, когда используются некоторые символы кодирования.
Для примера. когда я запускаю
INSERT INTO db (id,name) VALUES (1,'ŠĐŽČĆšđžčć')
от Java все в порядке, но когда я обновляю базу данных с помощью прокси-сервера сущностей, сгенерированный автоматически, иногда я получаю исключение, иногда я получаю замену некоторых символов на «?». Обратите внимание, что заменяются НЕКОТОРЫЕ, а не ВСЕ символы. Итак, как настроить кодировку на автогенерированном коде, чтобы нормально работать?
TNX!Java-автогенерированная кодировка подключения базы данных MySQL

+0

показать ваш 'persistence.xml' – Bozho

+0

он внизу в разделе anwser ... – Andrej

+0

, но это не ответ - отредактируйте yo ур вопрос и добавить его там. Затем удалите ответ. – Bozho

ответ

0

если вы используете JSP добавить это на странице:

<%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" %> 

EDIT: я заблуждался с CRUD формы, но все же я оставлю его ...

Вы можете увидеть Š, но вы не можете видеть ć и č, правильно? Попробуйте это:

набор character_set_server переменная utf8, если он установлен в latin1

0

Вот настойчивость XML:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> 
    <persistence-unit name="kemoton_dbPU" transaction-type="RESOURCE_LOCAL"> 
    <provider>oracle.toplink.essentials.PersistenceProvider</provider> 
    <class>...</class> 
    <properties> 
     <property name="toplink.jdbc.user" value="root"/> 
     <property name="toplink.jdbc.password" value=""/> 
     <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/kemoton_db?characterEncoding=UTF-8"/> 
     <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
    </properties> 
    </persistence-unit> 
</persistence> 

Кстати @ Trix: это настольное приложение ...

Смежные вопросы