Znaki pełnoszerokie i półszerokie we wpisywaniu po chińsku

Szerokie i wąskie klocki drukarskie
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ółszerokaForma pełnoszerokaTypowy problem
AAIdentyfikatory nie są zgodne
11Pole 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.

Schemat: ABC123 → ABC123

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

  1. Zachowaj oryginalną kolumnę lub plik.
  2. Ustal, które pole ma udokumentowany format, na przykład kod cyfrowy.
  3. Przekształć potrzebne kategorie znaków w osobnej kopii.
  4. Sprawdź początkowe zera, interpunkcję i spacje po konwersji.
  5. 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.