![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 27.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
zainstalowałem ostatnio najnowszego mysql'a i nie wiedzieć czemu w phpmyadminie pojawila sie nowa kolumna, we właściwościach / strukturze pola o nazwie "Metoda porównywania napisów", wszędzie o wartości "latin1_swedish_ci", nie mam pojęcia co to jest, a gdy chcę wpisać jakieś polskie znaki w phpmyadminie to zostają one zamienione na "?"
macie w ogole jakieś pojęcie jak to rozwiązać, bo ja nie! tak więc proszę o pomoc, ponieważ nie moge nic robić ze stroną ![]() wielkie dzięki -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
dzisiaj przy okazji testowania konwersji phpbb > smf przyszedł mi na myśl jeszcze jeden pomysł i co najlepsze się sprawdził
![]() sytuacja opisywana dla bazy, w której przechowywane są dane z polskimi znakami w iso-8859-2, ale charset w bazie > 4.1 jest ustawiony na latin1... 1. robimy eksport z phpmyadmina - może być z nowego (ewentualnie mysqldump) 2. jeśli eksportowaliśmy z jakiegoś nowszego phpmyadmina prawdopodobnie mamy teraz w pliku krzaki w miejsce polskich liter, dlatego robimy konwersję (np. programem gżegżółka pod windowsem, czy iconv pod linuxem), ustawiamy konwersję z utf8 na latin1 (iso-8859-1) (nie na latin2 - dlatego, że kodowanie w bazie ustawione było na latin1 i baza konwertując na utf8 właśnie to bierze pod uwagę) 3. mamy teraz zrzut bazy, w którym polskie znaki są w iso-8859-2, ale przy wrzucaniu tego na serwer baza znowu będzie myślała, że wrzucamy w latin1 i pojawią się znaki zapytania... otwieramy plik zrzutu bazy w dowolnym edytorze (byleby miał funkcję zamiany) i zamieniamy ciąg 'latin1' na 'latin2' - teraz przy wrzucaniu bazy będzie zgodność znaków w pliku z ustawieniem charsetu dla tabel/pól oczywiście jeśli jest szansa, że w bazie będą teksty zawierające słowo latin1 (pewnie w bazie forum php.pl jest tego cała masa ![]() ![]() 4. wrzucamy bazę na serwer w dowolny sposób, przez source, czy phpmyadmina (przy wrzucie przez phpmyadmina kodowanie dla pliku ustawiamy na iso-8859-2) po tej operacji można bezproblemowo przejść na utf8 nawet z poziomu bazy, wystarczy zmienić charset dla bazy na utf8 i znaki powinny się przekonwerterować na utf8 (ale tego nie testowałem, więc mogę się mylić) Ten post edytował WereWolf 25.08.2006, 20:34:20 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 21:57 |