Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql 4.0 -> mysql 4.1
Forum PHP.pl > Forum > Bazy danych > MySQL
barts
Witam !

Mam baze danych pod mysql 4.0.26. Jak najmniej bolesnie przejsc na mysql 4.1. Chodzi mi o polskie znaczki. Baza dosc duzo wazy wiec pomyslalem zeby ja wrzucic pod consola przez opcje source plik.sql. Ale wtedy wrzuca sie z kodowaniem latin1_swedish_ci. Kodowanie ustawione na serwerze domyslnie to: latin2_general_ci.

Dziekuje za wszystkie odpowiedzi.
Sh4dow
to zalezy jak kodowales znaki wczesniej na 4.0
Jesli latin1, tak jest defaultowo i wiekszosc ludzi to uzywa, to exportuj to ustaw sobie latin1 na 4.1 (w dowolnej formie) i zobacz czy sie wykrzaczy.
Nie wiem czy to cos zmieni, ale przed zaladowaniem przez source depnij sobie takie zapytanie w mysql:
  1. SET NAMES 'latin1';

albo zmien latin1 na to co chcesz tam.
adif
Witam...od kilku dni próbuję uporać się z podobnym problemem. I tak:

Moja konfiguracja na zewnętrzym serwerze:
phpMyAdmin 2.6.4-pl4
MySQL 4.1.13-standard
---------
W phpMyAdmin ustawiłem sobie :
jezyk: pl-utf-8
oraz
system porównań dla połączenia MySQL: utf8_polish_ci

(ponoć MySql w wersji od 4.1 nie obsługuje standardu ISO wiec pojawia się problem ponieważ na wcześniejszym serwerze miałem właśnie kodowanie pl-iso-8859-2.)
Odsyłam tytaj: MySql

Jeśli chodzi o kodowanie latin1_swedish_ci, które Tobie barts sprawia kłopot to obszedłem ten problem w taki sposób:
nazwa_bazy_danych >> operacje >> Metoda porównywania napisów: i tu zmień sobie z
latin1_swedish_ci na odpowiedni dla Ciebie.

Generalnie znalazłem sposób na poprawne wyswietlanie się polskich znaków ale nie wiem jeszcze w jaki sposób (jakim programem) mogę zamienić znaki z ISO na UTF8 po exporcie bazy danych:

wygląda to tak:

exportuje sobie bazę do pliku i zmieniam w nim kodowanie z iso na utf - czyli np: ąśżźćń zamienia na ±¶¿¼æ.

W phpMyAdmin ustawienia takie jak wyzej napisałem czyli: utf8_polish_ci.

Tym oto sposobem polskie znaki na stronie z kodowaniem: <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> wyświetlają się poprawnie.

WAŻNE:
dane do bazy należy wprowadzać z poziomu php - wtedy znaki polskie automatycznie MYSql zamieni sobie na system UTF.
Jeśli wprowadzamy dane bezpośrednio w MySql należy pamiętać że znaki typu: śćżąńół będą poprawnie przechowywane ale na stronie wyswietlą się krzaczki - w moim przypadku były to znaki zapytania (?)

Jeszcze jedna moja uwaga:
Wcześniej próbowałem zmienić kodowanie w bazie na latin2_general_ci jak tu niektórzy na forum proponowali. Niestety wówczas nie można było wprowadzić do bazy z poziomu php słów z polskimi znakami - wywalało błąd.

Może ma ktoś inny pomysł na to nieszczęsne kodowanie w MySql 4.1? Oraz czy znacie program do konwersji znaków z ISO na UTF?

pozdawiam
Ozzy
w PSPad można konwertować jak się chce - http://www.pspad.com/
revyag
http://forum.php.pl/index.php?showtopic=36202
adif
A propos tego programu PSPad to nie widzę możliwości zmiany z iso na utf8 (może nie widzę - proszę mnie uświadomić)

Szczerze mówiąc trochę sobie teraz namieszałem. Przeczytałem tego Posta, którego polecił revyag.

Mam pytanie.

Czy jest możliwe w takim razie przechowywanie w bazie danych z polskimi znakami i wyświetlanie ich poprawnie na stronie z kodowaniem iso-8859-2.

Jakie powinny byc ustawienia kodowania w mysql'u i co trzeba zrobić żeby polskie znaki poprawnie się wyświetlały a zarazem poprawnie były zapisywane z poziomu php do bazy danych.

Ja mam problem, że kiedy przestawię kodowanie na latin2_general_ci z utf8 w bazie to z poziomu php nie chcą mi się zapisywać dane z polskimi znakami. Jeśli zaś wpisze z poziomu mysql dane z polskimi końcówkami to na stronie są tylko znaki zapytania.

Kurcze ale to jest namieszane z tym kodowaniem. Tyle postów już przeleciałem i nic.

Niech znajdzie się w końcu ktoś kto konkretnie napisze co pokolei trzeba zrobić żeby przenieść dane ze starszej wersji mysql do nowej.

pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.