🔥 5 promocji w KinetyceGemini Pro 170 zł -91%Adobe CC 169 zł -84%Brain.fm 109 zł -70%i 2 więcej do 13.09 Zobacz →
Przejdź do treści
Narzędzia

Ukryte znaki w tekście z czatu. Skąd się biorą i co psują

Spacje o zerowej szerokości, twarde spacje, miękkie dywizy i cyrylickie litery udające polskie. Nie widać ich nigdzie, a psują wyszukiwanie, walidację formularzy, pliki CSV i kod. Pokazuję, jak je znaleźć i kiedy naprawdę trzeba je usuwać.

4 min czytania
Ukryte znaki w tekście z czatu. Skąd się biorą i co psują

👁 150 przeczytań

// w skrócie
  • Ukryte znaki najczęściej pochodzą z formatowania interfejsu czatu lub strony internetowej, a nie - jak głosi jedna z teorii - z celowego znakowania tekstu przez modele AI.
  • Spacja o zerowej szerokości i twarda spacja potrafią zepsuć walidację formularzy, sumowanie w arkuszu kalkulacyjnym, pliki CSV oraz powodować błędy składni w kodzie źródłowym.
  • Cyrylickie homoglify, np. litera 'а' wyglądająca jak polskie 'a', służą do budowania fałszywych adresów domenowych i omijania filtrów, a sprawdzenie podejrzanego linku zajmuje sekundę.

Pierwszy raz zderzyłem się z tym przy zwykłej robocie redakcyjnej. Szukałem w dokumencie frazy, którą widziałem na ekranie, i wyszukiwarka uparcie twierdziła, że jej nie ma. Fraza była. Między dwoma wyrazami siedziała spacja, która nie była spacją.

Katalog rzeczy, których nie widać

Najgorsza jest spacja o zerowej szerokości. Zajmuje miejsce w tekście, ale nie zajmuje miejsca na ekranie, więc nie da się jej zobaczyć ani zaznaczyć myszą. Znajdziesz ją tylko wtedy, gdy jej szukasz.

Twarda spacja wygląda jak zwykła, ale nią nie jest. Wstawia się sama w edytorach tekstu, kiedy pilnują, żeby liczba nie została oddzielona od jednostki na końcu wiersza. Szukanie frazy ze zwykłą spacją jej nie znajdzie, a przy imporcie do arkusza kalkulacyjnego zamienia liczbę w tekst i rozjeżdża sumowanie.

Miękki dywiz przychodzi z plików PDF razem z podziałem wyrazu na końcu wiersza. Znaczniki kierunku pisma sterują tym, jak tekst się wyświetla, i w tekście po polsku nie mają czego robić. Do tego dochodzą wąskie spacje, spacje szerokości cyfry, selektory wariantu zostawione po emoji i znaki sterujące z odległych epok informatyki.

Litery, które udają inne litery

Osobna kategoria to homoglify. Cyrylickie „а” wygląda identycznie jak polskie „a”, bo w wielu krojach pisma jest rysowane tak samo. To jednak inny znak, o innym numerze, więc wyszukiwarka go nie znajdzie, a filtr słów go nie zatrzyma.

W zwykłym tekście to prawie zawsze przypadek po kopiowaniu z materiału pisanego w kilku alfabetach. W adresie strony, w nazwie pliku albo w loginie to już inna sprawa. Tak buduje się adresy udające znane domeny i tak omija się blokady. Jeśli widzisz podejrzany link, sprawdzenie, czy nie ma w nim liter z innego alfabetu, zajmuje sekundę i bywa rozstrzygające.

Skąd to się bierze w tekstach z czatu

Tekst skopiowany z okna rozmowy nierzadko niesie spacje o zerowej szerokości i wąskie spacje. Najczęściej jest to pozostałość po formatowaniu w interfejsie, tak samo jak przy kopiowaniu ze strony internetowej.

Krąży też teoria, że to celowe znakowanie odpowiedzi, które ma pozwolić rozpoznać tekst wygenerowany przez konkretny model. Nie mam na to dowodu i nie będę udawał, że mam. Wiem tyle, że te znaki tam bywają, że nie służą do niczego pożytecznego w Twoim dokumencie i że lepiej ich nie przenosić dalej. To wystarczy, żeby je usuwać, bez budowania spiskowej narracji.

Co konkretnie psują

Wyszukiwanie i zamianę tekstu, bo szukana fraza przestaje pasować. Walidację formularzy, bo pole z niewidocznym znakiem na końcu bywa odrzucane bez czytelnego komunikatu. Pliki CSV, bo nietypowa spacja w liczbie robi z niej tekst. Kod źródłowy, bo znak o zerowej szerokości wklejony między nawiasy daje błąd składni, którego po prostu nie widać w edytorze i można nad nim stracić godzinę.

Do tego dochodzi rzecz drobna, ale irytująca: licznik znaków pokazuje inną liczbę, niż wynika z tego, co widać. Przy limitach na tytuł czy opis meta potrafi to zaboleć.

Jak to sprawdzić i wyczyścić

Wklej tekst do narzędzia do ukrytych znaków. Pokazuje każdy taki znak z jego numerem i pozycją, tłumaczy, skąd się bierze, i pozwala wyczyścić wybiórczo, klasa po klasie. To ostatnie jest ważniejsze, niż wygląda: twarda spacja w zapisie kwoty bywa zamierzona i wtedy nie chcesz jej stracić, a spacja o zerowej szerokości nie jest zamierzona nigdy.

Homoglify zamieniam na prawidłowe odpowiedniki łacińskie, a nie usuwam, bo to jest jedyna sensowna naprawa. Cyrylickie „а” w polskim słowie ma zostać polskim „a”, nie zniknąć.

Google · Twoje źródłaPromptowy wyżej w Twoim Google - jednym kliknięciemDodaj do preferowanych źródeł

Gdzie wstawić czyszczenie w obiegu pracy

Sprawdzanie tekstu po fakcie, kiedy coś już nie działa, to najgorszy moment. Lepiej wpiąć czyszczenie w miejsce, przez które i tak wszystko przechodzi. U mnie to jest krok tuż przed wklejeniem do systemu publikacyjnego: cokolwiek przyszło z zewnątrz, najpierw idzie przez kontrolę znaków, dopiero potem do edytora. Zajmuje to dwie sekundy i wyłapuje problem, zanim wejdzie do bazy.

Jeśli przyjmujesz teksty od innych osób przez formularz na stronie, warto poczyścić je po stronie serwera, przy zapisie. Użytkownik nie ma pojęcia, że jego tekst niesie niewidoczne znaki, i nie ma powodu, żeby miał. Prosta funkcja usuwająca znaki o zerowej szerokości i zamieniająca nietypowe spacje na zwykłe rozwiązuje to raz na zawsze, a przy okazji ratuje wyszukiwarkę na Twojej własnej stronie.

Jedna rzecz wymaga ostrożności. Twarda spacja bywa wstawiona celowo, żeby liczba nie odkleiła się od jednostki albo inicjał od nazwiska. Jeśli czyścisz automatem, zamieniaj ją na zwykłą spację zamiast usuwać, bo różnica między dwunastoma tysiącami złotych a dwunastoma tysiącami przeniesionymi do następnego wiersza jest wyłącznie typograficzna, ale sklejenie liczby z jednostką w jedno słowo psuje już sens.

Jeśli pracujesz z tekstem zawodowo, wyrób sobie odruch przepuszczania przez to wszystkiego, co przychodzi z zewnątrz: z czatu, z PDF-a, od klienta. Zajmuje to dwie sekundy i oszczędza tych godzin, w których szuka się błędu, którego nie widać.

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.

Najczęstsze pytania

Skąd biorą się ukryte znaki w tekście skopiowanym z czatu?

Najczęściej są to pozostałości po formatowaniu interfejsu czatu lub strony internetowej, podobnie jak przy kopiowaniu z dowolnej witryny. Istnieje też teoria o celowym znakowaniu odpowiedzi modeli AI, ale autor artykułu przyznaje, że nie ma na to dowodu.

Co psuje spacja o zerowej szerokości wklejona do kodu źródłowego?

Powoduje błąd składni, który nie jest widoczny w edytorze, przez co można stracić godzinę na szukanie niewidocznej przyczyny problemu. Znak ten nie zajmuje miejsca na ekranie i nie da się go zaznaczyć myszą.

Czy twardą spacę zawsze należy usuwać podczas czyszczenia tekstu?

Nie - twarda spacja bywa wstawiona celowo, żeby liczba nie odkleiła się od jednostki albo inicjał od nazwiska. Automatyczne czyszczenie powinno zamieniać ją na zwykłą spacę, a nie usuwać, bo sklejenie liczby z jednostką w jedno słowo psuje sens tekstu.

Jak sprawdzić, czy link nie zawiera liter z innego alfabetu?

Wystarczy wkleić adres do narzędzia wykrywającego ukryte znaki i homoglify - pokazuje ono każdy znak z jego numerem i pozycją. Cyrylickie 'а' wygląda identycznie jak polskie 'a', ale ma inny numer znaku, więc narzędzie od razu wskazuje różnicę.

// czytaj też

Podobne tematy na Promptowym

Piotr Olszewski

Piotr Olszewski

ADMINISTRATOR

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony
🛒 Sklep Kinetyka Google AI Gemini Pro 170 zł CapCut Pro 460 zł/rok Cursor Pro 440 zł/rok Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× powiększenie