| Termin | Definicja |
|---|---|
| Width sensitivity | Width sensitivity to ustawienie kolacji rozróżniające znaki o pełnej i połówkowej szerokości w tekstach azjatyckich. Na czym polega rozróżnianie szerokości znakówWidth sensitivity, czyli wrażliwość na szerokość znaku, jest właściwością kolacji używanej do porównywania i sortowania tekstu. W praktyce dotyczy przede wszystkim języków i systemów pisma, w których ten sam znak może występować w wariancie pełnoszerokim albo połówkowym. Wariant pełnoszeroki zajmuje w typowym układzie znakowym szerokość zbliżoną do całej komórki znakowej, natomiast wariant połówkowy jest przeznaczony do układu o mniejszej szerokości. Różnica nie opisuje rozmiaru czcionki ani fizycznej szerokości wyświetlania tekstu na ekranie. Kolacja wrażliwa na szerokość traktuje takie warianty jako różne podczas porównywania wartości. Oznacza to, że dwa ciągi zawierające wizualnie podobne znaki mogą nie być uznane za identyczne, jeżeli jeden używa formy pełnoszerokiej, a drugi połówkowej. W kolacji niewrażliwej na szerokość porównanie może uznać te warianty za równoważne. Zasada ta działa niezależnie od tego, czy tekst jest wpisywany ręcznie, importowany z pliku, pobierany z formularza, czy generowany przez aplikację. Wpływ width sensitivity na wyszukiwanie i sortowanieNajbardziej widocznym skutkiem ustawienia width sensitivity jest różnica w wynikach wyszukiwania. Jeżeli kolumna lub mechanizm porównywania używa kolacji wrażliwej na szerokość, wyszukanie wartości zapisanej znakami połówkowej szerokości może nie zwrócić odpowiednika zapisanego znakami pełnoszerokimi. Dotyczy to zarówno porównań całych wartości, jak i porównań fragmentów tekstu, zależnie od reguł konkretnego silnika, zapytania oraz użytego operatora. Wrażliwość na szerokość może mieć znaczenie przy sprawdzaniu duplikatów, walidacji identyfikatorów, filtrowaniu rekordów i działaniu indeksów tekstowych. Ta właściwość wpływa także na porządek sortowania. Wartości różniące się wyłącznie wariantem szerokości mogą zostać ustawione jako odrębne elementy, a ich kolejność jest określana przez reguły danej kolacji. Nie należy zakładać, że porządek wynikający z kolejności kodów znaków będzie taki sam jak porządek językowy. Kolacja może jednocześnie określać czułość na wielkość liter, akcenty, typ kana, znaki dodatkowe oraz szerokość, dlatego sama nazwa width sensitivity opisuje tylko jeden element całego mechanizmu. Reprezentacja znaków i normalizacja danychRóżnica między pełną a połówkową szerokością jest związana z reprezentacją znaków w standardzie Unicode oraz z regułami lokalizacyjnymi stosowanymi przez oprogramowanie. Dwa znaki mogą mieć różne punkty kodowe, mimo że dla użytkownika wyglądają podobnie albo pełnią podobną funkcję w tekście. Samo podobieństwo wizualne nie gwarantuje więc równości tekstowej. Program może przechowywać oba warianty bez błędu, a problem ujawni się dopiero podczas wyszukiwania, sortowania, porównywania lub tworzenia klucza unikatowego. Przed wyborem kolacji trzeba ustalić, czy szerokość znaku ma znaczenie biznesowe i techniczne dla konkretnego zbioru danych. W polach opisowych zwykle oczekuje się wygodnego wyszukiwania, dlatego różne warianty zapisu mogą być traktowane jako równoważne po odpowiedniej normalizacji. W polach identyfikacyjnych, kodach produktów, nazwach użytkowników albo danych importowanych z systemów azjatyckich rozróżnianie szerokości może być celowe, ponieważ zmiana wariantu mogłaby oznaczać inną wartość. Normalizacja nie powinna być wykonywana bez sprawdzenia wymagań, ponieważ może zmienić dane i połączyć wartości, które wcześniej były rozróżniane. Znaczenie ustawienia dla komputera i obsługi tekstuNieprawidłowo dobrana kolacja może powodować pozornie losowe problemy: brak oczekiwanego wyniku wyszukiwania, odrzucenie wartości jako duplikatu, inną kolejność rekordów albo niespójność między importem i późniejszym filtrowaniem. Przy analizie takiego przypadku należy porównać rzeczywiste znaki zapisane w danych, a nie tylko ich wygląd na ekranie. Warto sprawdzić źródło tekstu, ustawienia klawiatury i edytora, sposób konwersji znaków oraz kolację używaną przez konkretną kolumnę lub operację porównania. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów i komputerów PC, w tym diagnostykę problemów z wyświetlaniem, wprowadzaniem oraz obsługą tekstu w popularnym oprogramowaniu. Przy zgłoszeniu związanym z width sensitivity istotne jest przekazanie przykładowych wartości, informacji o programie oraz dokładnego działania, które daje nieoczekiwany rezultat. Pozwala to odróżnić problem kolacji od błędu czcionki, ustawień językowych, konwersji kodowania albo samego mechanizmu wyszukiwania. |