Java автоматически сгенерированная кодировка соединения с базой данных MySQL - PullRequest
0 голосов
/ 06 ноября 2010

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

Ответы [ 2 ]

0 голосов
/ 06 ноября 2010

Вот 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: это настольное приложение ...

0 голосов
/ 06 ноября 2010

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

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

РЕДАКТИРОВАТЬ: Я ошибся с формами CRUD, но тем не менее я оставлю это ...

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

установить символ_сервера_сервера переменную utf8 , если для нее установлено значение latin1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...