Jednak mi się dziś chciało. Zrobiłem skrypta do konwersji całości Wordpressa z ISO-8859-2 na UTF-8. Oczywiście może też posłużyc do konwersji całkiem innych kodowań, wystarczy zmienić argumenty w wywołaniu funkcji iconv(). Skrypt znajduje się pod adresem: urzenia.net/wp-content/iso2utf/. Można go dowolnie zmieniać i wykorzystywać do własnych potrzeb, zgodnie z zasadami GPLv2.
Skrypt zmienia tylko zawartość bazy, te tabele i pola które uznałem że trzeba zmienić, reszta (przynajmniej w wersji WP 1.5.1.2 nie musi być konwertowana.
Skrypt nie zmienia za to collation w wersjach MySQL wyższych niż 4.0, więc do tego potrzeba ręcznie pogrzebać w bazie danych. Mi zajęło to jakieś 30 minut, ale nie chciałem tego robić automatem. Poza tym wszystko działa :)
Po zakończeniu działania skryptu, w katalogu w którym on się znajduje będzie utworzony plik converted.sql, który trzeba ręcznie wrzucić do bazy - również tego nie chciałem żeby robić automatem - nigdy nie miałem do nich zaufania ;)
Oczywiście nie biorę odpowiedzialności za złe działanie skryptu (za dobre zresztą też nie), etc etc. Używasz go na własną odpowiedzialność :)
Jeśli gdzieś ktoś dojrzy na diary jakieś problemy z pl-znaczkami, to proszę o info.
Ale generalnie: po kiego czorta UTF-8?
Potrzebujesz jakiegoś zestawu znaków, jakiego nie ma w kanonicznym ISO-8859-2?
Adres bezpośredni: http://urzenia.net/206/test-utf-eaeno-eaeno/#comment-355
Generalnie nie. Ale raz, że wszystkie narzędzia ułatwiające pracę z WP są pisane z obsługą UTF8, a dwa, że uważam że ten zestaw znaków powinien być rozpowszechniany, zamiast poszczególnych kodowań.Na dziś dzień w większości wypadków nie ma problemu jeśli chodzi o transfery danych - łącza szerokopasmowe, nawet 128k od tepsy daje rade bez problemow, a puszczanie gzipniętych stron pozwala zaoszczędzić znacznie więcej na transferach niż zmiana kodowania na ‘klasyki’.
Adres bezpośredni: http://urzenia.net/206/test-utf-eaeno-eaeno/#comment-357
BTW - ta zmiana kodowania, którą tu zrobiłem, jest w sumie czysto kosmetyczna. Najprawdopodobniej, jak tylko z larkiem wydamy wersję 0.5.0 core, to zmienie engine diary właśnie na core. Nie podoba mi się za bardzo droga jaką podąża WP, IMO wersja 1.6 jest bardziej przebajerzona niż cokolwiek innego, funkcjonalności za bardzo nowej nie wprowadza (a przynajmniej nie taką jaką bym chciał - edytorek wysiwyg jest nie dla mnie, nie lubie takich gadżetów).
Adres bezpośredni: http://urzenia.net/206/test-utf-eaeno-eaeno/#comment-358
Co do argumentu z WP - to sprawa jasna: należy sobie ułatwiać życie.
Natomiast nie całkiem rozumiem, co masz na myśli mówiąc o oszczędnościach w transferze? Jeśli są to są pomijalne: dotyczą wyłącznie znaków diakrytycznych - jeśli w ogóle. A ponadto: rzeczywiste oszczędności biorą się z upowszechnianiem (x)htmla + CSS.
Co do ‘powinno się rozpowszechniać UTF’ - to wydaj mi się, że tu nie ma argumentów ‘za’ poza już wspomnianymi. Zwracam uwagę, że odkąd Google przeprowadza konwersję do UTF, to znaki diakrytyczne strony ‘źródłowej’ schodzą na drugi plan.
Adres bezpośredni: http://urzenia.net/206/test-utf-eaeno-eaeno/#comment-361
@krzychu: Oszczędności w transferze - wybiegłem nieco w przyszłość, bo jednym z czołowych kontrargumentów przeciw UTF jest właśnie to ;) i się z góry usprawiedliwiłem.
A co do rozpowszechniania: uważam, że powinno być używane jedno kodowanie, nie dziesiątki czy setki, bo to imo paranoja. A że na tą chwilę uważam UTF-8 za najlepszy dostępny, to dlatego go promuję. I nie chodziło mi tutaj o Google :)
Adres bezpośredni: http://urzenia.net/206/test-utf-eaeno-eaeno/#comment-365