ソースコードのUTF-8化
ソースコードをUTF-8化したい。
* メリット
* デメリット
色々実験した結果、Visual Studio は(デフォルトでは)UTF-8で書いたソースコードの文字列をコンパイル時にCP932に変換して処理するし、gccは-fexec-charset=EUC-JP を付けることでUTF-8で書いたソースコードの文字列をコンパイル時にEUC-JPに変換して処理できることがわかった。
この方法を使えば、実際の処理を変えることなくソースコードをUTF-8にすることができる。 また、BCCなどの古いコンパイラでは今までどおりCP932に変換すれば多分コンパイルできる。
Cのソースコード以外の、*.txt、*.hlp、*.prf ファイルなどはUTF-8をそのまま読み込むとエラーになるので、ファイル読み込み処理の部分にUTF-8からCP932もしくはEUC-JPへの変換処理を入れる。ただし、ユーザが生成した自動拾いファイルなどがCP932やEUC-JPの可能性があるので、読み込み時に文字コードを推測してUTF-8の場合のみ変換する。
ひと通り作業完了しました。 Windows上のVisualStudioでビルドする場合、文字コードを変換する必要がなくなりました。 しばらくのあいだ様子を見て問題なさそうであればチケットを閉じます。
ひと通りトラブルは潰したので一旦チケットは閉じます
ソースコードをUTF-8化したい。
* メリット
* デメリット
方針
色々実験した結果、Visual Studio は(デフォルトでは)UTF-8で書いたソースコードの文字列をコンパイル時にCP932に変換して処理するし、gccは-fexec-charset=EUC-JP を付けることでUTF-8で書いたソースコードの文字列をコンパイル時にEUC-JPに変換して処理できることがわかった。
この方法を使えば、実際の処理を変えることなくソースコードをUTF-8にすることができる。 また、BCCなどの古いコンパイラでは今までどおりCP932に変換すれば多分コンパイルできる。
Cのソースコード以外の、*.txt、*.hlp、*.prf ファイルなどはUTF-8をそのまま読み込むとエラーになるので、ファイル読み込み処理の部分にUTF-8からCP932もしくはEUC-JPへの変換処理を入れる。ただし、ユーザが生成した自動拾いファイルなどがCP932やEUC-JPの可能性があるので、読み込み時に文字コードを推測してUTF-8の場合のみ変換する。