ちょっとハマったのでメモ。
オープンソースにした「アタッシェケース」は、現在 GitHub というサイトに公開しているのですが、ソースコードのエンコーディングが、いまだshift-jisで扱われている関係で、思いきりサイト上で文字化けしていました。
そもそもアタッシェケース自体が、Unicode対応しているのに、ビルドは平気で通って、きちんと動いちゃっているっていう‥‥(苦笑)。いったい中でどうなってんだっていうか。
なので、ソースコード一式をこのβテスト中にUTF-8に変更しようと思い立ったのです。
ところが、単純にエンコーディングを変更しただけで、山のような「警告」が発生。
パターン・青。完全に第一種戦闘配置レベル。
どうもローカライズ(国際化対応)するために、resourcestring を格納したファイルで起きている模様。
デルフぃ‥‥
ママン、ぼく.pasのことよくわからないよ‥‥
泣きながらググると、情報が断片的に、どうやら resourcestring は、デフォルトではAnsiStringで扱われるよう。マジか‥‥。文字列をリソースから読むところ全部、型変換かまさないといけないのか‥‥と、一瞬、脳裏をよぎりました。
とはいえ、それはDelphi 2007でのお話とある。
僕の環境は、カレントバージョンからは何世代も前(誰か寄付してください!)とはいえ、2010。さすがに、デルファイさんもUnicodeStringになってるよね?
と、いちるの望みをたぐり、あちこち探すこと、小一時間(笑)。
プロジェクトのオプションの中にありました。
「リソースコンパイラ」オプションの項目にひっそりとあった・・・
なんか、もう、自動で変更しといて(笑)。
このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。
日々の開発作業で気づいたこと共有を。同じところで躓いている人が、 検索で辿り着けたら良いな、というスタンスで記事を書くので不定期更新になります。
コメントする