Zobacz temat
Kodowanie polskich znaków - rozwiązanie
|
|
wlodekp |
Dodany dnia 26.09.2006 08:43:41
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
DOTYCZY POLSKICH LITER Zakładam nowy temat, bo mam inne spojrzenie na sprawę-wiele moich wywodów do tej pory było błędnych. Nowa instalacja na serwerach z kodowaniem latin1, utf8 nie stwarza w tej kwestii problemów. Nowa instalacja na serwerach z kodowaniem latin2 wymaga dopisania wiersza kodu w pliku maincore.php po wierszu 45 dopisać wiersz 46 Ta operacja powoduje wyświetlanie polskich znaków we wszystkich nowo dodawanych rzeczach po instalacji. Nawigacja, oraz wszystkie pozostałe rzeczy dopisane z locali przez instalacyjny setup do bazy należy poprawić ręcznie z poziomu phpmyadmin. KODOWANIE LATIN2 WYŚWIETLA NORMALNE POLSKIE ZNAKI W TABELACH BAZY, WIĘC NIE MA PROBLEMU. Można przy użyciu dodatkowej strony wykonać podgląd kodu: który załatwi sprawę. TERAZ NAJWAŻNIEJSZE PRZENOSZENIE PRZY RÓŻNYCH KODOWANIACH BAZ STARY SERWER stwórz kopię bazy Fusion z Poziomu Panelu Administracyjnego.(gz i SQL) przy dużych bazach-zalecane tworzenie kopii częściowych.. NOWY SERWER zainstaluj nowego czystego Fusiona zgodnie ze starą wersją. Ustal kodowanie nowej bazy podglądając ją z phpmyadmin, bądź zrób kopię bazy nowego Fusiona Z PA i PODEJRZYJ KODOWANIE w pliku.sql. IMPORT: wykonaj z poziomu PHPMYADMIN-(wybrana nowa baza) NAJWAŻNIEJSZE W okienku: Zestaw znaków dla pliku: wybierz ustalone kodowanie nowej bazy i wykonaj. Powinna nastąpić automatyczna konwersja polskich znaków do systemu bazy nowego serwera. Sprawdziłem to u siebie przenosząc moją stronę z UTF8, LATIN1 do LATIN2, na które się przesiadam ze względu na normalną widoczność polskich liter w tabelach bazy w phpmyadmin. Nie sprawdziłem jeszcze konwersji w drugą stronę-jest to bardzo czasochłonne w razie zaistniałych problemów zrobię to, CHOĆ TEORETYCZNIE POWINNO BYĆ OK. Proszę stosować się do wskazówek i nie zadawać zbędnych pytań. Choć, w razie specyficznych problemów służę zawsze pomocą-bo może coś pominąłem? Edytowane przez Pieka dnia 12.10.2007 20:11:07 |
|
|
Wścibski Gość |
Dodany dnia 22.11.2024 02:12:31
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
|
IP: localhost | |
as |
Dodany dnia 26.09.2006 09:48:05
|
Zaawansowany Postów: 1509 Data rejestracji: 25.01.2005 21:55 |
Problem bardzo często nurtujący userów Supportu, którzy instalują PHP-Fusion i experymentują z instalacją i przenoszeniem DB na różnych serwerach - PRZYKLEJAM
Edytowane przez Pieka dnia 12.10.2007 20:11:34 as
|
|
|
ArturMaly |
Dodany dnia 11.10.2006 18:24:40
|
Początkujący Postów: 120 Data rejestracji: 09.01.2006 16:58 |
Mam takie małe pytanko, moja baza danych jest kodowana w "latin1" i czy tą metodą takze zrobię aby polskie znaki były poprawnie wyświetlane, adres mojeje stronki to: http://www.motorr... Z Góry dzięki za odpowiedź... A i w jaki sposób można zmienić kodowanie już istniejącej bazy?? www.zdzplock.euro... Edytowane przez Pieka dnia 12.10.2007 20:11:55 |
|
|
wlodekp |
Dodany dnia 12.10.2006 08:21:31
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Tą metodą można tylko wczytywać dane do istniejącej bazy, główne kodowanie jest zapisywane przy tworzeniu bazy-większość serwerów nie pozwala na wybór kodowania i tworzy ją z kodowaniem defoult-ustawionym przez admina serwera. Sprawdziłem import z Latin2 do Latin1-są polskie znaki należy jednak przy tego typu iportach usunąć wszystkie zapisy w kopii typu: Tego przedtem zapomniałem napisać! collate latin2_general_ci DEFAULT CHARSET=latin2 COLLATE=latin2_general_ci DEFAULT CHARSET=latin2 Baza musi przyjąć swoje ustawienie defoult i do niego przepisać zawartość tabel. Przy imporcie należy wybrać właściwe kodowanie bazy bo jest różnica nawet między Latin1 a UTF8 i nie będzie wszystkich polskich liter. Edytowane przez Pieka dnia 12.10.2007 20:12:11 |
|
|
Pajonkl |
Dodany dnia 12.12.2006 21:34:35
|
Przedszkolak Postów: 29 Data rejestracji: 23.06.2006 18:37 |
:/ Ja nie moge poradziać sobie ze swoja stronką. Zmieniłem stronke na nową wersje php i po zmianie nie ma polskich znaków. Próbowałem juz dawać kodowanie Latin1, 2 UTF i nic :/ Juz nie wiem co tu może być :/ Może ma ktos jakieś propozycje ? Stronka ta to interpliki.com na serwerze forall.pl Edytowane przez Pieka dnia 12.10.2007 20:12:29 |
|
|
tofifik |
Dodany dnia 01.03.2007 20:06:42
|
Przedszkolak Postów: 8 Data rejestracji: 17.02.2007 17:51 |
tez mam gigantyczny problem odnosnie przenoszenia z latin2 na latin1, jak by ktos mogl opisac jak zrobic to w ta strone bylbym bardzo wdzieczny bo wiekszosc problemow i rozwiazan jest w druga strone :/
Edytowane przez Pieka dnia 12.10.2007 20:12:48 |
|
|
wlodekp |
Dodany dnia 01.03.2007 20:35:55
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Proszę usunąć z pliku kopi bazy wszystkie wpisy: ENGINE=MyISAM DEFAULT CHARSET=latin2 i wykonać import z wybraniem przy imporcie Latin1 Przed chwilą sprawdziłem jako że wszystkie swoje strony mam w latin2-a obok serwer gdzie specjalnie postawiłem nowy fusion z bazą utworzona w latin1 i jest OK. Więc proszę nie pisać że coś nie chula tylko dokładnie przestrzegać procedury opisanej powyżej. PHPMYADMIN-oczywiście. Edytowane przez Pieka dnia 12.10.2007 20:13:11 |
|
|
tofifik |
Dodany dnia 01.03.2007 21:53:53
|
Przedszkolak Postów: 8 Data rejestracji: 17.02.2007 17:51 |
chyba jestem na to za glupi :/ bo nie dosc ze w moich bazach nie ma nigdzie zapisu o latin2 (tzn mam jedna w ktorej to jest ale po skasowaniu tego wyswietla: zapytanie SQL: a robie totak: wgrywam php-fusiona na server z latin1 - wszstko smiga jak nalezy, wlaczam phpmyadmina tam robie import zaznaczam Zestaw znaków dla pliku latin1 wrzucam i pojawiaja sie "??" Edytowane przez Pieka dnia 12.10.2007 20:13:28 |
|
|
wlodekp |
Dodany dnia 01.03.2007 21:55:49
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Nie przeceniaj swojej głupoty; robisz tak edytujesz plik kopi bazy danych ten zrobiony na starym serwerze-możesz użyć do tego dość wygodnie-word pad, albo notatnik-stanmy przy notatniku: ENGINE=MyISAM DEFAULT CHARSET=latin2 kopiujesz to co wyszwj-zaznacz prawy myszy kopiuj-masz ten segment w podrecznej kompytera. Otwierasz plik kopi bazy w notatniku-edycja(zakł notatnika)-znajdz wklejasz w okienko ten skopiowany z tej strony fragment i znajdz znajdzie pierwszy-zamknij okienko wyszukiwania i wcisnij delete z klawiatury-usunoles pierwszy. Wcisnij F3-znajdzie drugi - delete klawiatura-F3- powtarzaj operacje do momentu KOMUNIKATU nie znaleziono zapisz plik-teraz jest on gotów do Twojego prawidłowego importu. Dopiero taki plik przygotowany import Latin1. Czy to już jest zrozumiałe? Edytowane przez Pieka dnia 12.10.2007 20:13:44 |
|
|
tofifik |
Dodany dnia 01.03.2007 22:11:31
|
Przedszkolak Postów: 8 Data rejestracji: 17.02.2007 17:51 |
Nie chodzi o kasowanie bo to np zrobilem trybem zamien i zamnienilem automatycznie wszystko na spacje ale na to ze nadal konwersja nie dziala np: osobš, która zwraca uwagę na pewne ułomnoa33;ci,
Edytowane przez Pieka dnia 12.10.2007 20:14:29 |
|
|
wlodekp |
Dodany dnia 01.03.2007 22:17:35
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Przecież ja wyraźnie napisałe że zrobiłem to u siebie z bazą z newsami i mam wszystkie polskie litery normalnie. Jak duża jest Twoja baza? JESLI NIE MA WPISÓW W BAZIE LATIN2 skąd wiesz ze to jest jej kodowanie w phpmyadmin na pogladzie tresci widzisz polkie litery normalnie-jesli tak to jest latin2-jak nie to nie jest. Edytowane przez Pieka dnia 12.10.2007 20:14:47 |
|
|
michal89 |
Dodany dnia 12.10.2007 18:58:15
|
Początkujący Postów: 117 Data rejestracji: 25.10.2006 16:46 |
Dzięki wlodekp pomogło Jest jeszcze jedna sprawa, zamieniło mi wszystkie krzaczki na polskie litery oprócz tych, które są w extreme-fusion tzn ostrzeżenia i szukanie użytkownika (nie wyświetla ż). Możecie , albo ty wlodekp podać reguły dla tych wyrazów z extrema. Sam próbowałem coś pokombinować, ale po godzinie nieudanych prób postanowiłem napisać. Pomożecie?
Edytowane przez Pieka dnia 12.10.2007 20:15:53 |
|
|
Sharky |
Dodany dnia 17.10.2007 11:46:08
|
Przedszkolak Postów: 55 Data rejestracji: 27.06.2006 18:59 |
Chcę przenieść bazę danych z yoyo.pl (UTF-8 Unicode (utf8)) do boo.pl (UTF-8 Unicode (utf8)). I gdy przenoszę bazę bez zmieniania kodowania to niewyświetlana mi polskich znaków, czy w ogóle powinienem zmieniać kodowanie, jeżeli tak to na jakie?
Edytowane przez Milka dnia 19.10.2007 20:21:22 |
|
|
wlodekp |
Dodany dnia 17.10.2007 12:49:49
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Tylko informacyjnie bazy na yoyo.pl były zawsze kodowane latin1, gdyby to było utf8 to nie byłoby żadnego problemu bo import defoult w phpmyadmin jest także utf8. Ja nie wchodzę w temat, ale jest Wielu innych.... Edytowane przez Milka dnia 19.10.2007 20:21:40 |
|
|
agiita |
Dodany dnia 11.11.2007 10:03:05
|
Przedszkolak Postów: 25 Data rejestracji: 30.07.2007 15:55 |
Witam. Przenoszę bazę danych z ovh.org, która jest kodowana w latin_1 na masternet.pl kodowany w latin_2. Pomimo zmian stawień kodowania bazy podczas importu, cały czas mam krzaki na stronie. Proszę o pomoc w prawidłowym ustawieniu kodowania, aby wyświetlanie było prawidłowe. Adres mojej strony http://marysiasei...sternet.pl Pozdrawiam |
|
|
wlodekp |
Dodany dnia 11.11.2007 11:20:35
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
To wygląda tak: 1. Import proszę wykonać z wyborem latin1 i będą polskie znaki, jest to przeflancowane latin1 z latin2 i nic nie dopisujesz w maincore to będzie pokutowało póżniej brakiem polskich znaków przy dodaniu nowego infusiona, bo on już będzie w latin2. 2. tak samo tylko z pliku bazy usunąć wszystkie wpisy DEFAULT CHARSET=latin1 i dopisać wiersz do maincore latin2 w tym przypadku to będzie czysty latin2 i znaki zarówno po imporcie jak i w nowych rzeczach instalowanych będą -należy poprawić zapytaniami tylko w panelach ręcznie pierwszy post jeśli jeszcze coś będzie phpmyadmin przy kodowaniu latin2 pokazuje polskie znaki normalnie i można je pisać ręcznie z klawiatury z altem. Powyżsżą procedurę sprawdziłem przed chwilą na imporcie z ovh do siebie gdzie baze kodowanie sam ustalm przy tworzeniu w tym przypadku latin2 |
|
|
agiita |
Dodany dnia 11.11.2007 12:20:16
|
Przedszkolak Postów: 25 Data rejestracji: 30.07.2007 15:55 |
Witam. Robiłam tak, jak podajesz w opcji nr 1 i niestety mam krzaki. Może opiszę po kolei, co zrobiłam: - skopiowałam i przeniosłam przez ftp pliki z ovh.pl na masternet.pl - eksportowałam bazę z ovh.pl - importowałam bazę na masternet.pl (wybrałam latin1) Z tym, że kiedy robiłam to po raz pierwszy, to zostawiłam domyslne kodowanie (utf8) i może to sprawia, że zmiana teraz na latin1 nic nie daje? Nie wiem również czy dobrze wykonuję usuwanie tabel, tzn. zaznaczam wszystkie tabele i je usuwam, a następnie importuję bazę. Czy to właściwe postępowanie przed importem? Pozdrawiam |
|
|
wlodekp |
Dodany dnia 11.11.2007 12:43:54
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
Ja nie miałem zbytnio czasu się bawić zrobiłem kopię bazy na OVH z PA nawet bez kompresji nie ma znaczenia i taką ładowałem z phpmyadmin jeśli robisz kopię bazy z phpmyadmin zaznacz opcję: prawa strona Struktura; zaznacz; Dodaj DROP TABLE / DROP VIEW ja mam polski najnowszy u Ciebie może być Drop table if exist. Po takim zaznaczeniu wal śmiało na to co jest wgrane nic nie usuwaj z bazy tak wyexportowany plik najpierw sam sobie usunie stare i nadpisze nowymi. Możesz bawić się do woli zmieniająć kodowania importu kilkakrotnie i wtedy bedziesz widział po odświeżeniu strony już konkretne zmiany po każdym kolejnym imporcie Wszystkie tabele z zaznaczeniem EXPORT TABEL WSZYSTKICH. Jak zrobisz export wklej tu wiersze do pierwszej tabeli włącznie admins zobaczę tylko treść nie plik. Mogą być przerwy w odpowiedziach, bo siedzę u innego kolegi na stronie i uruchamiam wtyczkę artykułów już przwie OK IMPORTUJ NA ZAINSTALOWANEGO FUSIONA NP ŚWIEŻEGO Edytowane przez wlodekp dnia 11.11.2007 13:02:47 |
|
|
agiita |
Dodany dnia 11.11.2007 14:17:34
|
Przedszkolak Postów: 25 Data rejestracji: 30.07.2007 15:55 |
Witam. Zrobiłam eksport z phpmyadmin z zaznaczonym DROP Table. Podaję wiersze Zaimportowałam bazę z latin1 i... nadal krzaki ;( Oczywiście import robię na zainstalowanego fusiona. Pozdrawiam |
|
|
wlodekp |
Dodany dnia 11.11.2007 16:39:33
|
Weteran Postów: 3101 Pomógł: 29 Data rejestracji: 21.05.2005 22:27 |
phpMyAdmin SQL Dump -- version 2.11.0-rc1 -- http://www.phpmya... -- -- Host: localhost -- Czas wygenerowania: 11 Lis 2007, 16:17 -- Wersja serwera: 5.1.11 -- Wersja PHP: 5.1.6 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Baza danych: `wlodekp` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `fusion_admin` -- DROP TABLE IF EXISTS `fusion_admin`; CREATE TABLE `fusion_admin` ( `admin_id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT, `admin_rights` char(2) COLLATE utf8_polish_ci NOT NULL DEFAULT '', Chodzi o ten czerwony wpis dziwne, nie masz go więc import nie powinien nastąpić bo już są tabele i wyrzucić błąd, chyba że tworzy nową bazę. Export robimy na wybranej bazie patrz wlodekp 118 tabel u mnie widoczne zaznaczona tylko tabela admin powinnybyć wszystkie zaznaczone.
wlodekp dodał/a następującą grafikę:
Edytowane przez wlodekp dnia 11.11.2007 16:43:52 |
|
Przejdź do forum: |