
Spis treści
Ciągi ABC123 i ABC123 wyglądają podobnie, lecz zawierają różne znaki Unicode. Formularz akceptujący zwykłe litery łacińskie i cyfry może odrzucić wersję pełnoszeroką, a arkusz kalkulacyjny może uznać je za nierówne.
Chińskie metody wprowadzania tekstu potrafią tworzyć pełnoszerokie litery, cyfry lub interpunkcję obok chińskiego tekstu. Problem dotyczy faktycznych znaków zapisanych w ciągu, a nie tylko fontu czy powiększenia.
Rozpoznawanie typowych par
| Forma półszeroka | Forma pełnoszeroka | Typowy problem |
|---|---|---|
A | A | Identyfikatory nie są zgodne |
1 | 1 | Pole liczbowe odrzuca wartość |
, | , | Separator nie jest rozpoznawany |
( ) | ( ) | Wyszukiwanie lub parsowanie daje inny wynik |
Zwykła spacja i spacja ideograficzna również mogą wyglądać podobnie w polu tekstowym. Spacje na początku lub końcu tworzą dodatkowe rozbieżności. Przed zmianą obejrzyj całą wartość, zwłaszcza w kodach produktów, polach kontaktowych i importowanych rekordach.
Konwersja tylko potrzebnych pól
Dla identyfikatora produktu ABC123 konwersja liter łacińskich i cyfr daje ABC123. W chińskim akapicie przekształcenie całej interpunkcji może natomiast zepsuć zamierzoną typografię. Pole danych i opublikowane zdanie mogą wymagać odmiennego postępowania.
Konwerter znaków pełnoszerokich i półszerokich pozwala wybrać litery, cyfry, obsługiwaną interpunkcję oraz spacje. Zacznij od kategorii powodujących niezgodność, a następnie porównaj wynik z oryginałem.
Zmiany wykraczające poza szerokość
Konwersja szerokości nie zamienia uproszczonego chińskiego na tradycyjny. Nie sprawia też, że podobne wizualnie litery różnych systemów pisma stają się identyczne. Litera łacińska i podobna litera cyrylicka wymagają na przykład osobnej analizy.
Chińska kropka 。 nie jest po prostu pełnoszerokim odpowiednikiem kropki ASCII .. Podobnie nie wszystkie chińskie cudzysłowy i znaki tytułów książek obejmuje mapowanie pełnoszerokich znaków ASCII. Nie zakładaj, że jedna konwersja usunie każdą różnicę w interpunkcji.
Porównanie pola przed zmianą i po niej
Weźmy przykładowy kod ABC123. Konwersja samych liter daje ABC123, więc cyfry pozostają pełnoszerokie. Konwersja liter i cyfr daje ABC123. Wynik może zatem wyglądać na częściowo poprawiony, a nadal nie spełniać wymagania zwykłych liter i cyfr.
Dodaj teraz spację ideograficzną przed kodem: ABC123. Konwersja samych liter i cyfr pozostawi początkową spację. Konwersja spacji zmieni jej szerokość, ale nie usunie jej. Jeśli format odbiorcy zakazuje również spacji początkowych, usuń je osobno zgodnie z jego regułą.
Zachowuj początkowe zera, jeśli są częścią identyfikatora. Konwersja 001234 na 001234 nie powinna dawać 1234. Ta druga zmiana wynika z interpretacji liczbowej, nie ze zmiany szerokości. W arkuszu przechowuj oczyszczony identyfikator jako tekst, jeśli zera mają znaczenie.
Oddzielenie interpunkcji od struktury pliku
Przecinek w chińskim tekście może być znakiem interpunkcyjnym, a przecinek ASCII w CSV — separatorem pól. Zamiana wszystkich chińskich przecinków w surowym pliku może zatem wpłynąć na parsowanie, jeśli pole nie jest poprawnie ujęte w cudzysłowy. Przekształć tekst wybranego pola, a następnie wyeksportuj go zgodnie ze standardowymi zasadami cytowania danego formatu.
Podobnie pełnoszeroki dwukropek w zdaniu i dwukropek w adresie URL pełnią różne funkcje. Konwerter zmienia znak, lecz nie sprawdza, czy powstały adres prowadzi we właściwe miejsce. Kontroluj linki i wartości strukturalne w ich kontekście; węższa interpunkcja nie sprawia automatycznie, że każdy ciąg jest poprawny.
Szerokość wizualna zależy też od fontu. Powiększenie lub zmiana kroju nie zamienia A na A. Jeśli problem dotyczy dokładnego porównania, sprawdź lub przekształć zapisany tekst. Jeżeli chodzi wyłącznie o wygląd akapitu, zmiana samych znaków może być zbędna.
Przy dużym imporcie najpierw sprawdź małą próbkę zawierającą litery, cyfry, interpunkcję i spacje, zamiast od razu podmieniać całą kolumnę. Zweryfikuj rekord o znanej zgodności, rekord z początkowym zerem oraz rekord z chińskim tekstem. Próbka powinna pokazać, które kategorie wymagają konwersji, a które należy zachować.
Po konwersji trzymaj oryginalne i oczyszczone wartości obok siebie, dopóki system odbiorcy nie zaakceptuje właściwych rekordów. Pozwala to bezpośrednio wskazać zmieniony znak, zamiast odtwarzać go z pamięci lub stosować konwersję odwrotną, która nie musi przywrócić każdego wcześniejszego wariantu.
Kolejność oczyszczania importowanych danych
- Zachowaj oryginalną kolumnę lub plik.
- Ustal, które pole ma udokumentowany format, na przykład kod cyfrowy.
- Przekształć potrzebne kategorie znaków w osobnej kopii.
- Sprawdź początkowe zera, interpunkcję i spacje po konwersji.
- Ponownie przetestuj dopasowanie lub walidację przed zastąpieniem roboczych danych.
Nie normalizuj haseł ani podpisanych ciągów, chyba że system wyraźnie tego wymaga: zmiana jednego znaku zmienia wartość. Dla nazw i identyfikatorów zachowaj kopię kontrolną pozwalającą odtworzyć oryginalny zapis.
Jeśli zgłoszenie ma także limit długości, sprawdź wynik w liczniku znaków. Zmiana szerokości może zmniejszyć miejsce na ekranie bez zmniejszenia liczby znaków.
Komentarze
Ładowanie…
Brak komentarzy.