リソースの多国語化で起こる問題と解決方法

このQ&Aのポイント
  • VisualStudio2003でC++のプログラミングをしている際に、リソースの多国語化で問題が発生しています。
  • リソースファイルをエディターで編集すると、他の言語の部分でコンパイルエラーが発生してしまいます。
  • GB2312やSJISでエンコードを変更して保存しても同様のエラーが発生します。
回答を見る
  • ベストアンサー

リソースの多国語化で

現在、顧客の関係でVisualStudio2003でC++のプログラミングをしております。 その中で、中国語やドイツ語などのリソースの追加依頼があり、 その言語の文字列をもらっています。 そこで、リソースファイルをEmeditorなどのエディターで直接開き、編集して保存すると、他の言語の部分でコンパイルエラーが起こってしまいます。 開くときのエンコードは、中国語であれば、GB2312で開き、編集後保存する際には、同じエンコードで保存したり、SJISで保存をしたり試しました。が、やはり、同じようにコンパイルエラーになってしまいます。 そもそもこのような方法はとれませんでしょうか?もしくは、他に何か方法があれば、お教え願えれば助かります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

Unicode、具体的には、  「UTF-8」または「Unicode(LE)」 で保存するとうまくいきませんか? # 2種類書いているのは、 # ファイル種別によって、「UTF-8」だと通らないものが # 「Unicode(LE)」だと通ることがあったりするので。

dee0828
質問者

お礼

ありがとうございます! いただいたヒントを元に文字が見える状態でファイルを保存し、 バイナリ(アスキー)で再度開きなおし、その部分をコピー&ペーストすることによって、解決できました。 onosukeさん、本当にありがとうございました。

関連するQ&A

  • 多国語アプリケーションの実装方法

    VisualStudio.NET2003でSDKで開発しています。 多国語アプリケーションの実装を調べるとその多くはリソースを切り替える手法が取られてる様ですが… 日本語/英語程度なら可能ですが中国語や韓国語ではそもそもリソースにこれらの言語文字(中国語:gb2321、韓国語:euc-korean)を記載しても(Meadow使用)コンパイルの時点でコードが変みたいに言われてしまいます。 この辺りの問題を回避して多国語アプリケーションを実装する手法をご存知ありませんでしょうか?

  • EmEditorでSJISファイルをUTF-8に

    EmEditorでSJISファイルをUTF-8に変換したいと思い、「名前を付けて保存」でUTF-8を選択して保存しました。 すると、次回開く時に、「指定したエンコードで変換できない文字が含まれています・・・」というポップアップが出てしまいます。 日本語を含む、SJISファイルをUTF-8に変換するにはこの手順だけではいけないのでしょうか? どうぞよろしくお願い致します。

  • リソースファイルとは・・・

    リソースについて、2つ疑問が沸きました。 もしよろしかったら、アドバイスよろしくお願い致します。 (1)最近まで、Visual C# .NETを使用しておりました。 さきほど、Visual C++ .NETをいろいろいじっていたのですが、C++にはリソースというフォルダがあって、C#にはないのか疑問になりました。 どうしてC++では、リソースとして明確に分けているのかどうしてもわかりません。(そういえば、C#では、多言語に対応できないのかな・・・!?) (2)C#では、たとえば、メニューのキャプションを変更したりといったことは、コードと同じように編集できるのに、どうしてC++では、わざわざリソースエディタのメニューデザイナで編集させているのでしょうか? あと、リソースエディタの中にダイアログと言う項目があるのも不思議でなりません。ダイアログもフォームなのにリソースなんでしょうか?(リソースファイルとして保存して何か意味あるのでしょうか?)

  • リソースのコントロールについて

    プログラム初心者です。 よろしくお願いします! 現在私は、visualstudio6.0のソフトで、リソース機能を持ちいてある機能の実現に向けてプログラムを書いています。 そこで質問なのですが、 たとえばリソース機能を用いてダイアログボックスにエディットボックスを20つ設けますと、それぞれIDC_EDIT1~IDC_EDIT20と計20個IDができますよね? その20個を私の書いているソースの中にそれぞれ違う値をいれたいので、 イメージでは for(i=1;i<21;i++){ IDC_EDIT[i] } というようにしたいのですが、IDC_EDIT[i]ではやはりコンパイルエラーが出てしまいます。ソースをずらずら長く書けばできないこともないのですが、大変な量になるので簡単にできないだろうかと検討中です。 この場合、ソースをコンパクトにすることは可能でしょうか?ご教授よろしくお願い致します。

  • Excelでリソース不足を解消する方法

    メモリを1GB実装しているパソコンで25MBのエクセルファイル(セルからデータを抽出して表示するフォーム)を作りました。 編集をして名前を付けて保存しようとしたら「リソース不足です他のアプリケーションを終了してください」というエラーメッセージが表示され、保存できなくなりました。 他にソフトは起動してなかったのですがなぜこのような問題が発生するのでしょうか? リソース不足を解消する方法が有りましたらおしえてください。

  • 日本語 エンコード

    中国にいる日本人からメールが来るのですが、 エンコードが簡体時中国語(GB2312)になって いるため文字化けしてしまいます。 中国語のOutlookExpressを使用しているのですが、 日本語JISのエンコードをインストールさせる方法を 教えてください。

  • サイトの文字化けについて

    最近HPなどを見ていると良く文字化けをします。 私はたまに中国のサイトを見るのですが、たまに文字化けをして見れない時があります。 その時にはいつも、〔右クリック〕→〔エンコード〕→〔簡体字中国語(GB18030)〕 で直して見ていますが、 最近、日本のサイトを見るときに良く文字化けするようになりました。 エンコードを見るといつも、〔簡体字中国語(GB18030)〕になっていました。 エンコードで日本語には直せますが、毎回なおすのはとても大変で、フレームつきのサイトの時は見れなくて困ります>< 勝手に〔簡体字中国語(GB18030)〕にならないようにするには、どうすればいいのですか?? パソコンはWINのVistaを使ってます。 ブラウザはLunascape4で、出来れば変えたくないです。 何かいい方法はありませんか? すっごく困ってます><;

  • VisualStudio.netでC言語のコンパイル

    VisualStudio.netでC言語(ANSI など)のコンパイルができますでしょうか?またコンパイル方法もよろしくお願いします。 要するにVisualStudio6.0みたいに使えるかどうかです。C#は後ほど勉強して使います。

  • GPLライセンスのオープンソースの言語リソースを翻訳した場合

    あるGPLライセンスのオープンソースWebアプリケーションを会社で導入と思っています。 多言語に対応しており、中国語などはあるようなのですが、残念ながら日本語のリソースが無いため、会社の経費で翻訳しようかと思います。 この場合、言語リソースは公開する必要があるのでしょうか?、ちなみに、それを使ってビジネスを展開するという事ではなく、あくまでも自社内で使用する予定です。

  • VC++でUTF-8のファイルを出力したい

    VisualStudio2005で以下のコードを実行したとき、ファイルをUTF-8で作成したいのですが、なにか方法がありますか? 現状では、SJISで出力されてしまいます。 ソースは、『ファイル』-『保存オプションの詳細設定』で『UTF-8(BOM付き)』にしてあります。 #include <stdio.h> int main(int argc, char* argv[]) {     FILE *fp;     fp = fopen( "c:/temp/log.txt", "w");     fprintf( fp, "%s\n", "あいうえお" );     fclose( fp );     return 0; } ちなみに、”あいうえお”の部分を(EmEditorで)SJISに無くてUTF-8にだけ存在する文字にした場合、VisualStudioのエディタ上では正しく文字が表示されます。 したがって、VisualStudio内ではリテラルの文字コードはUTF-8で扱われていると考えられます。・・・が、上記プログラムで出力すると文字化けします。つまり、SJISで出力されてしまいます。 ご教授のほど、よろしくお願いいたします。