Problem związany z migracją bazy danych ze starego MySQL na nową bazę.
Export mamy w Latin2, a u nowy MySQL działa w zupełnie innej stronie kodowej.
Odpalamy:
show variables like 'character%' ;
jako resultat (lub bardzo podobne):
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin2 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
Jak widać wszystko działa jako Latin1 w zasadzie.
Teraz musimy to wszystko zmienić na Latin2 - aby to zrobić należy użyć polecenia:
* set session ___co___=latin2; ===> jeżeli chcemy dla sesji
* set global __co__=latin2; ===> jeżeli chcemy globalnie -- ale tutaj uprawnienia potrzebne są
a więc:
set session character_set_client=latin2 ;
set session character_set_connection=latin2 ;
set session character_set_database=latin2 ;
set session character_set_results=latin2 ;
set session character_set_server=latin2 ;
i teraz mamy:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin2 |
| character_set_connection | latin2 |
| character_set_database | latin2 |
| character_set_filesystem | binary |
| character_set_results | latin2 |
| character_set_server | latin2 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
... no tu juz jesteśmy prawie w domu - teraz jeszcze trzeba usunąć co nieco.
Przełączamy się na bazę danych:
use nasza_db ;
i usuwamy:
drop table students;
drop table test01;
drop table students_tests;
a następnie importujemy jeszcze raz importujemy dane do bazy:
source test01.sql;
teraz jak damy sobie zapytanie:
select * from test01 limit 1;
powinniśmy mieć już polskie znaki na ekranie ... kolejna sprawa to jak zachowuje sie skrypt
do poszukania - plik inc/common.php
tam jest metoda:
function DB($DB_NAME, $DB_HOST, $DB_USER, $DB_PASS)
i teraz za: $this->connected = 1; wspisujemy to
mysql_query('set session character_set_client=latin2 ');
mysql_query('set session character_set_connection=latin2 ');
mysql_query('set session character_set_database=latin2 ');
mysql_query('set session character_set_results=latin2 ');
mysql_query('set session character_set_server=latin2 ');
i powinniśmy mieć polskie znaki.
wtorek, 2 czerwca 2009
Subskrybuj:
Komentarze do posta (Atom)
Archiwum bloga
-
►
2012
(16)
- ► października (2)
-
►
2011
(51)
- ► października (1)
-
▼
2009
(190)
- ► października (2)
-
▼
czerwca
(27)
- Mass Mailing HowTo
- Oprogramowanie va-ctcs (ctcs-1.3.1-pre1.tgz) - pro...
- Zmiana czasu w linux'ie - date
- 960 Grid System - CSS Framework
- Tworzenie szablonu WWW
- Optymalizacja konwersji dla stron internetowych
- Podstawowe narzędzia sieciowe - Linux
- Debian + apt-get = problem ... NO_PUBKEY 9AA38DCD5...
- Atak na serwer WWW
- Jak odzyskać EML z DBX'ów (w tym uszkodzonych)?
- Przydatna książka do Adobe Photoshop Elements
- Jak sprawdzić wydajność systemu dysków twardych?
- Vista / W2k8 - jak odzyskać bootloader po instalac...
- Instalacja własnych styli na 'obcych' stronach WWW
- Oprogramowanie do aktualizacji sterowników w syste...
- Vista - zmiana języka
- Weekendowa dygresja - ponoć dobry drink
- Uruchamiamy kiosk ze stroną internetową
- Photoshop - proste tutoriale na fajne efekty
- Co powinna zawierać umowa wdrożeniowa / wykonanie ...
- Mam Vistę 64bit - chcę 32bit (albo na odwrót)
- Hyper-V R2 - przegląd nowości
- Czcionki / Fonty
- Optymalizacja stron internetowych
- Całkiem fajny artykuł o kluczach i indeksach w baz...
- Migracja bazy MySQL a kodowanie znaków.
- BASH ... rm : Argument list too long
Brak komentarzy:
Prześlij komentarz