PDA

Zobacz pełną wersję : Polskie znaki po przerzyceniu na serwer publiczny



hanni
19-01-2010, 17:51
wiem ze zaraz otrzymam wiadomosc ze tyle juz o tym pisano, ale ja nie znalalzlem pomocy na forum,
zalozylem baze na zerwerze zdalnym, na pustej bazie zmienilem system kodowania na utf8_unicode_ci, zaimportowałem bazę z komputera w domu i nie mam polskich litr, dziwne jest to ze kiedy otwieram baze i ma podgląd na tabele czesc z nich ma system porównania na utf8_general_ci a część latin2_general_ci, a polskich literek jak nie mailem tak nie mam

moje
19-01-2010, 18:10
Trzeba ustawić odpowiednie kodowanie w bazie danych podczas jej tworzenia.

hanni
19-01-2010, 18:16
podczas jej tworzenia na serwerze zdalnym ?

moje
19-01-2010, 18:19
Nieważne gdzie, tworząc nową bazę na serwerze MySQL podaje się jej kodowanie oraz jej system porównania.

hanni
19-01-2010, 18:27
tworząc bazę na home.pl podaje tylko haslo do niej ponieważ nawet nazwa jet tworzona automatycznie, następnie mogę przejść do php admin i cos z tą baza pokombinować, system kodowania znakoew dla MySql mam ISO 8859-2 central Europen(latin2) i tego nie moge ruszyć, moge natomiast zmienic system porownan dla połaczenia MySql ale co bym tam nie ustawił np utf8_general_ci to i tak nic mi nie daje polskich znakow nie ma

Jdwind
19-01-2010, 21:31
Wyeksportuj bazę do pliku tekstowego, pozamieniaj kodowanie z ISO na UTF-8 ręcznie, przekoduj cały plik (np. gżegżółką, notepad++) na utf, pousuwaj krzaki, potem w phpmyadmin usuń istniejące tabele z bazy i zaimportuj plik. To wszystko.

hanni
20-01-2010, 09:29
Wyeksportuj bazę do pliku tekstowego, pozamieniaj kodowanie z ISO na UTF-8 ręcznie, przekoduj cały plik (np. gżegżółką, notepad++) na utf, pousuwaj krzaki, potem w phpmyadmin usuń istniejące tabele z bazy i zaimportuj plik. To wszystko.

piszesz o bazie którą mam na serwerze publicznym? znaczy sie ze trzeba pogrzebac wewnątrz pliku txt ktory bedzie utworzony?

Jdwind
20-01-2010, 09:55
Tak. Wchodzisz do phpmyadmin (dojście dla Twojej bazy masz?) dajesz export jako plik tekstowy (.sql). Otwierasz plik np. w Notepad++, zamieniasz wszędzie tam gdzie masz ISO na UTF-8. Potem robisz Konwertuj na UTF bez BOM, musisz przeglądnąć cały plik, czy nie masz "krzaków" w tekście (jeżeli tak, to zamieniasz je na polskie znaki). Zapisujesz plik, wchodzisz znowu do phpmyadmin do swojej bazy, zaznaczasz wszystkie tabele i je usuwasz. Potem dajesz Import pliku i tyle. Nie powinieneś mieć problemów, natomiast potem, jak będziesz instalował np. jakiś komponent możesz jeszcze raz sprawdzić plik, czy nie założyło nowej tabeli z kodowaniem ISO. Mam tak na nazwa.pl, wszystko zmieniałem ręcznie i za każdym razem jak coś instaluję to muszę ręcznie poprawić kodowanie w pliku.
EDIT
Do hurtowej zamiany znaków był jakiś program, podawany tu na Forum, ale nie pamiętam nazwy.

hanni
20-01-2010, 10:05
[quote=Jdwind;153172]Tak. Wchodzisz do phpmyadmin (dojście dla Twojej bazy masz?) dajesz export jako plik tekstowy (.sql). Otwierasz plik np. w Notepad++, zamieniasz wszędzie tam gdzie masz ISO na UTF-8. Potem robisz Konwertuj na UTF bez BOM, musisz przeglądnąć cały plik, czy nie masz "krzaków" w tekście (jeżeli tak, to zamieniasz je na polskie znaki). Zapisujesz plik, wchodzisz znowu do phpmyadmin do swojej bazy, zaznaczasz wszystkie tabele i je usuwasz. Potem dajesz Import pliku i tyle. Nie powinieneś mieć problemów, natomiast potem, jak będziesz instalował np. jakiś komponent możesz jeszcze raz sprawdzić plik, czy nie założyło nowej tabeli z kodowaniem ISO. Mam tak na nazwa.pl, wszystko zmieniałem ręcznie i za każdym razem jak coś instaluję to muszę ręcznie poprawić kodowanie w pliku.
EDIT
Zamieniam na UTF OK zapisuję plik "Potem robisz Konwertuj na UTF bez BOM"-- czym mam skonwertować ten plik , programem Notepade++?

Jdwind
20-01-2010, 10:24
Tak. W opcjach Format masz "konwertuj na format utf-8 bez BOM".

hanni
20-01-2010, 13:47
dzieki z cierpliwosc z udzielaniem pomocy, powalcze z tym wieczorkiem, pozdrawiam

Jdwind
20-01-2010, 14:16
W zasadzie, jak to mówią, odkąd Administrator wymyślił żółtą buźkę w którą można kliknąć, dziękowanie stało się zbyteczne :) Daj znać, czy Ci się udało.

hanni
20-01-2010, 17:00
zrobilem tak:
wyeksportowałem bazę na dysk komputera,
otworzylem ją w notepad
zamienilem wszystkie wpisy latin2 na utf8
wcisnołem foramt i pozniej konwertuj na utf bez BOM tylko że wtedy menu się zamkneło więc nie wiem czy tak konwersja się zrobiła tak szybko czy poprostu nic sie nie zrobilo
zapisalem zmieniony plik
wszedlem na serwer publiczny
usunolem z bazy danych wszystkie tabele
zaimportowalem zmieniony w notepade plik bazy
wszystkie tabele w bazie mają teraz system porównywania utf8_general_ci
a polskich literek jak nie było tak nie ma :mad:

hanni
20-01-2010, 17:01
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

w takich linjach był latin 2 zmieniłem na utf8

Jdwind
20-01-2010, 17:12
Może link do strony byś podał? Jaka wersja Joomla, jaki język ustawiony?

hanni
20-01-2010, 17:31
wersja joomla 1.5.15, jezyk ustawione na polski www.ztrendem.com.pl (http://www.ztrendem.com.pl), po przekonwertowaniu bazy gzegzolka z utf na latin2 i zaimportowaniu jej na serwer publiczny polskie literki sie pojawiły

Jdwind
20-01-2010, 19:08
Joomla 1.5 jak i komponenty (i reszta) do niej kodowane są w UTF'ie, więc popełniłeś chyba błąd zakładając bazę lokalnie, z kodowaniem ISO. Teraz jak będziesz coś instalował to znowu będziesz miał galimatias w bazie z kodowaniem, i będziesz musiał znowu ręcznie zmieniać.
EDIT:
Ale kodowanie na stronie pokazuje Ci poprawnie - utf.

hanni
20-01-2010, 21:13
hyba masz rację, cos skopałem przy zakładaniu bazy na serwerze lokalnym :(