Shift_JIS を含む文字列を使うにはたぶん unsigned char が好ましいことが多いと思う。
ただ、有効型に関するルールとして整数型をそれの符号付・符号無としてアクセスするのは許されるという特別扱いがある。
(読み替えは型変換とは異なるので注意。)
つまり必要に応じて同じ文字配列に対して char[] としてアクセスしても unsgined char[] としてアクセスしても構わないので必ずしも最初から決める必要はない。
一貫したほうが分かり易いとは思うんだけど strcpy とかの文字列系の基本的な関数は char で扱ってたりするから……