Polskie znaki w bazie danych

Mam problem. Mam plik z poleceniem insert do bazy danych. Czyli najprostsze wpisywanie do tabelki ale niestety wpisuje bez polskich znaków. Plik składa się z samych insertów, co należy dodać i gdzie aby pojawiły się polskie znaki?

Żeby były w bazie prawidłowo zakodowane polskie znaki diakrytyczne, baza musi mieć kodowanie które “obsługuje” te znaki(ISO-8859-2, Unicode, CP1250). Plik który zawiera wpisania do bazy musi być zapisany w tym samym kodowaniu.

Baza jest ustawiona program który napisałem w javie do obsługi ma ustawione kodowanie i w bazie ładnie pojawiają się polskie znaki. Natomiast jak wpisuje dane można tak powiedzieć ze skryptu sql (plik w którym jest jedynie insert i dane ) nie wpisuje z polskimi znakami i nie wiem czy coś trzeba w tym pliku wpisać czy coś specjalnie ustawić. Do obsługi bazy używam oprogramowania MySQL Workbench. Jakieś propozycje?

Zapomniałeś dodać że klient który łączy się do bazy aby wykonać te inserty ma również mieć dokładnie takie same kodowanie. Trza przyznać że pod tym względem jest mocno pochrzanione.

Czy przypadkiem nie masz na myśli “backupa” ?

Teoretycznie to nie jest backup tylko nowe dane przeniesione z innej bazy. Ale z drugiej strony to prawie to samo. Niestety nie mam pomysłu jak to zrobić. Nie znalazłem jednak żadnych ustawień odnośnie kodowania w MySQL Query Browser. A więc nie mam żadnego pomysłu co z tym zrobić. Myślałem, że trzeba coś w tym skrypcie dopisać.

SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;

SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;

SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;

SET NAMES utf8;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=NO_AUTO_VALUE_ON_ZERO */;

Dodaj to na początku pliku, czasami to pomaga.

Ale radzę napisać program który ściągnie dane z jednej bazy i załaduje do drugiej.

Niestety nie mam możliwości przerzucić danych z jednej bazy do drugiej bezpośrednio.

A kto powiedział że bezpośrednio? Jeden program czyta dane ze źródłowej bazy zapisuje do pliku, drugi odczytuje dane z pliku i zapisuje do docelowej bazy.