文字列リテラルとして「ソー」という表記の含まれている、ShiftJIS でエンコードされたファイルを、gcc でコンパイルする必要が出てきました。元のファイルは(勿論?)Windows上で作られたものです。 そのままコンパイルすると、foo.c:6:21: warning: unknown escape sequence: '\201'というエラーになってしまいます。 これは「ソー」をShitfJISでエンコードすると、0x83、0x5c、0x81、0x5bになることが原因です。0x5c(バックスラッシュ)の次の文字として、Cで定義されたエスケープシーケンスを構成する文字(例えば'\'+'n'で「改行」等)を期待しているのに、未知の文字(ここでは、0x81)が来たよ、というエラーです。 ある意味ここまでは想定の範囲内。iconv サポートを有効にして生成された gcc の場合、入力ファイル