Tíquete #33233

ソースコードのUTF-8化

: 2014-02-19 23:33 Última Atualização: 2020-12-23 12:43

Relator:
Dono:
Tipo:
Estado:
Fechado
Componente:
(Nenhum)
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Fixed
Arquivo:
Nenhum

Details

ソースコードをUTF-8化したい。

* メリット

  • 開発やリリース時にファイルの文字コード変換を気にしなくて良くなる。
  • バージョン管理システムを使いやすくなる。
    • 現状は手元の修正差分を取るためにはソースコードがEUC-JPじゃないとまともに差分が取れない。 すなわちWindows環境での開発がめんどい。
    • コミットログがUTF-8なのでソースコードと一緒に表示すると文字化けする。(下手な英語でコミットログを書いてる理由の一つ)

* デメリット

  • ダンプや自動拾いファイルもUTF-8になると既存ユーザが戸惑う?
  • bccなどの古いコンパイラでは多分コンパイルできない。何故か変愚をbccでコンパイルしている人は結構居るようだ。

方針

色々実験した結果、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の場合のみ変換する。

Ticket History (3/5 Histories)

2014-02-19 23:33 Updated by: habu
  • New Ticket "ソースコードのUTF-8化" created
2014-02-27 00:06 Updated by: habu
  • Dono Update from (Nenhum) to habu
  • Details Updated
2014-02-28 23:10 Updated by: habu
Comentário

ひと通り作業完了しました。 Windows上のVisualStudioでビルドする場合、文字コードを変換する必要がなくなりました。 しばらくのあいだ様子を見て問題なさそうであればチケットを閉じます。

2014-03-12 20:41 Updated by: habu
  • Ticket Close date is changed to 2014-03-12 20:41
  • Estado Update from Aberto to Fechado
Comentário

ひと通りトラブルは潰したので一旦チケットは閉じます

2020-12-23 12:43 Updated by: deskull

Attachment File List

No attachments

Editar

Please login to add comment to this ticket » Login