„ zamiast cudzysłowu: jak naprawić cudzysłowy i myślniki

W tekście widać „ i ” zamiast „ i ”, – zamiast myślnika albo € zamiast €? Te znaki zajmują w UTF-8 trzy bajty, a program odczytał je jako Windows-1250. Mojibuster składa je z powrotem – wklej tekst w pole powyżej.

Działa z tekstem i plikami:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Na przykład eksporty z Excela, zrzuty baz danych, napisy do filmów lub kod stron.

Napraw

  1. Przeciągnij plik lub wklej tekst
  2. Naprawa następuje automatycznie
  3. Skopiuj lub pobierz
albo po prostu przeciągnij plik tutaj

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.

Zdanie z newslettera odczytane jako Windows-1250

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.

Więcej poradników