Dlaczego psują się akurat te znaki
Word, Outlook, WordPress i wiele innych programów podczas pisania same zamieniają proste cudzysłowy i łączniki na typograficzne: „, ”, –, …. W UTF-8 leżą one w zakresie E2 80 xx i zajmują trzy bajty. Odczytane jako Windows-1250 zawsze zmieniają się w †i jeszcze jeden znak. Euro € to €, a » i « mają dwa bajty i wyglądają jak » i «.
Polskie litery zajmują w UTF-8 dwa bajty. Przy tym samym błędzie widać Ĺ‚ zamiast ł albo Ä… zamiast ą – więcej o tym. Dlatego krzaki pojawiają się zwykle jednocześnie w literach i w znakach.
Krzaki
Wyprzedaż „Lato” – rabaty do 30 %… Zamówienie za 150 € już czeka!
Po naprawie
Wyprzedaż „Lato” – rabaty do 30 %… Zamówienie za 150 € już czeka!
Wszystkie warianty w jednym miejscu
„→„(cudzysłów otwierający)”→”(cudzysłów zamykający)“→“(cudzysłów górny, np. w tekstach angielskich)–→–(półpauza),—→—(pauza)…→…(wielokropek)’→’(apostrof),‚→‚(pojedynczy cudzysłów otwierający)»→»,«→«(cudzysłów ostrokątny)€→€,°→°â€bez dalszego ciągu → zobacz niżej
Szczególny przypadek: samo â€
Pojedynczy cudzysłów ‘ zawiera bajt 98, dla którego Windows-1250 nie ma znaku. Zostaje z niego samo â€. Z takiego urywka nie da się pewnie odczytać, jaki znak tu był, więc Mojibuster zostawia to miejsce bez zmian. Sprawdź je ręcznie.
Samo †widać też wtedy, gdy tekst odczytano jako Windows-1252 – tak dzieje się często na stronach WWW i w bazach latin1. Litery wyglądają wtedy jak Å‚ zamiast ł, a †to zwykle zamykający ”, który stracił ostatni bajt. Jeśli w tym samym tekście są inne pewne naprawy, Mojibuster przywraca ”.
Gdzie spotyka się takie błędy
Najczęściej w plikach CSV otwartych w Excelu (krzaki w Excelu), w eksportach ze sklepów internetowych i programów takich jak Subiekt czy Comarch Optima, w newsletterach i mailach w Outlooku oraz we wpisach WordPressa po przeniesieniu strony.
Jak tego uniknąć
- Zapisuj teksty z Worda i edytorów w UTF-8 i podawaj kodowanie przy imporcie.
- Sprawdź kodowanie w narzędziach do newsletterów, sklepach i eksportach z programów księgowych: wszędzie powinno być
UTF-8. Stare pliki w Windows-1250 przekonwertujesz na UTF-8. - W mailach przyczyna leży często po stronie nadawcy. Jak odczytać takie wiadomości w Outlooku.
- W bazach danych ustaw dla tabel i połączenia
utf8mb4– więcej o MySQL i phpMyAdmin.
Najczęstsze pytania
Co oznacza „?
To podwójnie zakodowany cudzysłów „: tekst przekonwertowano błędnie dwa razy. Mojibuster naprawia i to – więcej o podwójnym kodowaniu.
Czy nie lepiej zamienić wszystko na proste cudzysłowy?
Nie trzeba. Mojibuster przywraca oryginalne znaki. Jeśli wolisz ' i ", możesz je zamienić później.
Dlaczego zepsute są tylko cudzysłowy, a litery są w porządku?
Prawdopodobnie tekst częściowo przepisano albo pochodzi z dwóch źródeł. Mojibuster naprawia tylko zepsute miejsca i nie rusza poprawnych znaków. Jeśli zamiast liter widać ?, zajrzyj na stronę znaki zapytania zamiast polskich liter.