![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, od 2 lat prowadzę pewne forum (które od startu było równocześnie startem mojej styczności z html,php,mysql i siecią), parę miesięcy temu podczas przenosin na inny serwer. Wtedy też dopiero - gdy po przeniesieniu bazy miałem krzaki zamiast polskich znaków, zleciłem to "specjaliście". Forum na vBulletin. Okazało się że kodowanie mojej bazy to latin1_swedish_ci , a wg niego konwersja tego na utf8 jest niemożliwa (siedział nad tym pare dni), bez utraty polskich znaków we wszystkich postach itp. Czy da się coś zrobić, czy już zawsze będę miał problem siedząc w tym kodowaniu?
Pozdrawiam i liczę na pozytywną odpowiedź (IMG:style_emoticons/default/worriedsmiley.gif) Ten post edytował Change 16.04.2011, 13:08:11 |
|
|
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
A nie ma możliwości zmiany kodowania bazy na utf8 i ponownego importu danych?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Robisz kopię zapasową bazy danych.
2. Unicode pozwala na zapisanie wszystkich znaków występujących w ISO-8859-1, tak więc nie ma problemu by zmienić kodowanie bez utraty ogonków. 3. Teraz wystarczy już tylko:
4. latin1_swedish_ci to nie kodowanie tylko metoda porównywania znaków. Kodowaniem jest latin1. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze musisz sprawdzić w jakim kodowani tak na prawdę masz dane w starej bazie danych. Odpal zapytania:
(Najlepiej zrobić to przez narzędzie typu MySQL Workbench, ale jeśli będziesz robił to przez skrypt PHP i przeglądarkę, to pamiętaj, żeby poinformować ją o kodowaniu, np: header( "Content-Type: text/plain; charset=iso-8859-1" ); ) Jak już się dowiesz jak tak na prawdę zakodowane są twoje polskie znaki, to robisz zrzut bazy do pliku .sql, wstawiasz w pierwszej linijce: i wczytujesz na nowym serwerze. Oczywiście nowe tabele tworzysz już w kodowaniu utf8. Przykładowo jeśli obecnie twoje polskie znaki zakodowane są jako latin2, to zrzut bazy powinien wyglądać tak:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
No, spróbuję skorzystać z waszych rad, zobaczymy co będzie, bo po samym przeczytaniu to nadal czarna magia (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 02:36 |