Varchar w Sql Server a polskie znaki

0

Pytanie: czemu w varchar w Sql Server można przechowywać polskie znaki skoro jest 1bajtowy i nie trzeba używać 2bajtowego nvarchara ?

0

poczytaj sobie o stronach kodowych i zestawach znaków

0

Zadam więc pytanie inaczej: czy projektując bd mogę spokojnie używać varcharów jeśli będą w nich trzymane polskie znaki, niezależnie od wersji językowej windowsa na jakiej będzie to hasać a nvarchar używa się do "egzotyki" np. chińskiego, japońskiego itd czy też należy wszędzie używać nvarchar gdzie spodziewamy się polskich znaków ?

0

Zdecydowanie używaj w takich wypadkach typu nvarchar i ntext. Na pewno ci to nie zaszkodzi, a unikniesz kłopotów ze stronami kodowymi.

0

strona kodowa bazy danych albo przynajmniej poszczególnych tabel musi zawierać w sobie polskie znaki (czyli np. win1250). Jak będziesz stawiał MSSQLa na np. chińskim windowsie to nie wiem czy takową tam znajdziesz

0

czy projektując bd mogę spokojnie używać varcharów jeśli będą w nich trzymane polskie znaki

Tak. Jak Misiekd napisał musisz użyć odpowiednich stron kodowych. Ale projektując całość systemu musisz być świadom że dana kolumna/tabela ma takie a nie inne collate i że wkładając/wyciągając z niej string jest on kodowany w takiej a nie innej stronie kodowej. Czasem ludzie o tym zapominają, a później pytania, jak zrobić żeby obsługiwało mi polskie znaki, albo skąd te kwadraciki, albo czemu zapisuje mi inny tekst etc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1