• ベストアンサー

Visual studio 文字コード変更

Visual C++ 2010 expressを使ってC言語をやっている者です。「1.c : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。」というような事がコンパイルした時に表示されてしまい、実行すると、文字化けしてしまいます。文字コードを設定し直したいのですが、インターネットで調べても以前のバージョンばかりで方法が分かりません。どなたか分かる方いらっしゃいませんでしょうか。よろしくお願いいたします。

noname#235689
noname#235689

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

・エディタで文字コードを変更して保存する。  使用しているエディタによるのでマニュアル参照してください。 ・コンパイラの文字セットを変更する。  プロジェクトのプロパティに「構成プロパティ」というのがあります。  そこから「文字セット」を「マルチ バイト文字セットを使用する」に変更します。  DebugやReleaseの構成毎に設定変更が必要ですのでご注意を。 書籍とかで勉強しているのなら、後者の方がよい…でしょうね。 wchar_t型とか出てくるのでなければ。

noname#235689
質問者

お礼

前者で出来ました。上級者用に変える必要があったみたいでした。 後者も試してみたかったのですが、「構成プロパティ」の場所が分かりませんでした。 とりあえずありがとうございました。

関連するQ&A

  • 複素数<complex.h>のErrorに関して

    初めて質問させて貰います。 質問するにあたり至らない点もあるかもしれませんが、その際は御指摘頂ければ随時訂正していきたいと考えています。 プログラムに関しては素人と考えてください。 複素数を使った計算プログラムを書きたく思い、色々と調べたところcomplexをincludeすれば複素数が定義できるという所まで調べられました。 早速調べたとおりにプログラムを書いてみたのですが、エラーが発生してしまいます。 エラーの示すことも、何故エラーがでたのかも分かりません。 よろしければ、御助言の方よろしくお願いします。 使用ソフト→ Microsoft Visual C++ 2008です。 以下プログラム(num001.cppで保存)→ #include<stdio.h> #include<complex.h> ~以下略 という感じでプログラムを書いたのですが、コンパイルしてみると、以下のようなエラーが発生してしまいます。 以下発生したエラーです→ num001.cpp C:\program\C++5.5\include\complex.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\complex.h(3) : warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\stdcomp.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\compnent.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stddefs.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stddefs.h(3) : warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\stdcomp.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stdwind.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stdwind.h(3) : warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\rw/stdwind.h(208) :warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\rw/stddefs.h(181) :warning C4068: 不明なプラグマがありました。 C:\VC\INCLUDE\xlocale(342) : warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定してください。 C:\program\C++5.5\include\complex.h(1488) : warning C4068: 不明なプラグマがありました。 よろしくお願いします。

  • visual studio2010 文字コード

    visual studio2010を使っています。Cのプログラムを書いてます。 文字セットを選ぶ箇所で ・マルチバイト文字セットを使用する ・Unicode文字セットを使用する という2つの選択肢がありますが、 上を選ぶとshift-jisの文字コードが選ばれると認識してます。 それで、下のUnicode文字セットを使用するを選んだ場合なんですが、 これはutf-16のことですか? utf-8が主流だと思っていたのでここでさすUnicodeが勝手に utf-8のことだと思ってたんですが、 visual studioで扱っている方はワイド文字で、 utf-8について調べたらASCIIにも対応できる可変長のマルチバイト という風に書いてあったので、あれ?と思い色々調べたら ウィンドウズではメモ帳などでUnicodeという表記でutf-16を指すみたいなので これも同じでutf-16なのかなと思いました。 ただ、visual studioで扱うUnicodeはワイド文字ということと、 utf-16は2バイト固定ではなく2バイト単位なだけで 4バイトで1文字を表すこともあることが書いてあったので、 これはワイド文字とは違う??と混乱してます。 それともワイド文字は2バイト固定と思ってたんですが wchar_tが2バイトずつなだけでワイド文字は1文字2バイトというわけではない ということでしょうか? それとwchar_tで2個分で1文字を表したりする使い方はするんでしょうか? まとまりのない質問になってしまいましたがよろしくおねがいします。

  • visual c++の文字コード判別

    現在、visual studio2010のvisual C++でメモ帳をテキストボックスに表示するプログラムを作成しています。 しかし、文字コードがASCIIで保存してあるファイルを開こうとすると、文字化けが起こります。 shift-jisなどに変換しようとすると、ほかの文字コードで保存してあるファイルを開いたときに文字化けが起こります。 文字コードがASCIIのテキストファイルを開くときのみ、shift-jisなどに変換しようと思うのですが、文字コードがASCIIであるか、そうでないかを判別できる処理があれば教えていただけないでしょうか?

  • Visual Studio Codeについて

    今、Visual Studio Codeを使用しようと思い、インストールしたのですが、 ソースコードのヘッダーファイルのインクルード部分が赤い波線が表示されてコンパイル等ができません。設定方法や使い方等ご存じの方がいましたら、教えてください。よろしくお願いいたします。 追伸: 因みに、コンパイラーはbcc32xを使用するつもりです。 インストール先は「C:\Program Files\BCC102\bin」です。 Googleのインストール先は、「C:\ProgramFiles\Google\Chrome\Application」です。

  • 内部文字コードとは?

    javaは内部では文字をユニコードとして扱うとは、 どういう事でしょうか? 例えば、javaのブログラムをwindows上で作ったとして、 「こんにちわ」と出力させるプログラムを作ったとすると、 public class Hello{ public static void main(String[] args) { System.out.println("こんにちわ"); } } となりますよね、この時、このjavaのソースファイルを、 ユニコードとして保存して、コンパイル、実行しないと、 正常に動かないという事でしょうか? つまり、ソースをシフトJISで保存してJAVAでコンパイルをしようとすると、ソースコード中の文字をユニコードとして扱うため、 文字化けして、コンパイラは一体何の事か分からずエラーみたいな感じになるのでしょうか?(それとも自動で文字コードをユニコードに変換してくれるのかな?) 要するに、「内部文字コード」という言葉が何を指しているのかが分からないですが、よろしくお願いします。

  • メモ帳で文字コードの警告がでます。

    メモ帳で文字コードの警告がでます。 メモ帳でシフト+JISコード形式のHTMLホームページ(日本語)を作っています。 C:\Users\個人ユーザー名\Documents\サイト名\フォルダ\ファイル名.htmlですが、 上書きをしようとすると<このファイルは、ANSIテキストファイルとして保存すると失われてしまうUnicode形式の文字を含んでいます。Unicodeの情報を保存するには、・・・>と あります。 プルダウンメニューからとりあえず「Unicode」を選択して上書き保存していますが、 文字化けなどderu出ないか心配です。 大丈夫でしょうか。 WindowsXPのときはこんなのが表示されませんでしたが、Windows7を使うようになってからこんな警告みたいな脅かしみたいのがでます。 (親切心であれば反って不安に駆られるのは私だけでしょうか)

  • C#プログラムファイルの文字コード

    まず http://okwave.jp/qa/q8592830.html 上記内容で、スクリプト言語のスクリプトファイルの文字コードの質問をしたものです。 PHPやunixシェルは内部的に文字コード情報をもたたず すべての文字列をバイト列として保持しており pythonでは,文字列は内部的にオブジェクトが文字エンコーディング情報を持つ必要があるため事前にマジックコメントでスクリプトエンジンに教えてやる必要がある・・と 回答をいただきました。 それではたとえばjavaに置き換えると javaはコンパイルすると文字列をすべてunicodeのコードポイントに変換するようです。 そのためjavaのソースファイルをコンパイルするときに javac -encodingというコンパイルオプションがあるようです。ここで指定された文字コードからunicodeへと変換されていると・・・・。 ではC#はどうなのでしょうか? cscコンパイラのコンパイルオプションには文字コードを指定するようなオプションは見つかりませんでした。 しかし using System; using System.Windows.Forms; namespace test{ class AClass{ public string property = ""; public AClass(){ } } class TestClass{ public static void Main(string [] args){ AClass obj = new AClass(); obj . property = "文字列 "; Console.WriteLine(obj. property); MessageBox.Show(obj.property); } } } 上記のようなコードをUTF-8およびSJIS-winでそれぞれ保存して、コンパイル後実行しても 文字化けすることなく「文字列」という表示がされました。 ただし、EUC-JPで保存したファイルをコンパイルすると、なんと文字化けしてしましまいました。 これはなぜでしょうか? C#コンパイラはどこでどのようにコンパイル対象のプログラムファイルの文字コードを知り得ているのでしょうか? そしてなぜ、UTF-8/SJIS-winは問題なく文字列と表示されたにもかかわらず EUC-jpだと文字化けしたのでしょうか? よろしくご教授ください。 ちなみにC#のコンパイラはコマンドプロンプロトから直接CSC.exeを実行しています。

    • ベストアンサー
    • Java
  • パソコン画面の文字が?????となる。助けてくださ

    パソコンで、最近、表示されている文字が文字化けしたり、「????????」と書かれていたりします。 メモ帳に関しても、保存した後で開くと、全て「??????」と文字化けしていて、読めなくなってしまいました。 メモ帳を以前のように保存しようとすると、 「このファイルはANSIテキストファイルとして保存すると失われてしまうUnicode形式の文字を含んでいます。Unicodeの情報を保存するには文字コードからUnicodeを選んでください」と出てくるのですが、これはどういうことでしょうか。 原因として考えられるのは、最近表示言語を英語に変更してまた元に戻したこと、子どもがパソコンをいじっていたこと、ウイルスが入っていたこと(削除したと思うのですが・・)です。 文字化けするのは、フリーソフトをダウンロードした時の説明や、Javaのソフトの説明や、メモ帳を保存した後に読むときです。 困っております・・・・よろしくお願いいたします。

  • Visual C++ 2008で .cファイルのコンパイラができない

    現在Microsoft Visual C++ 2008 Express Editionでc言語を勉強していて 今の所しばらくc++の勉強をする予定はありませんので、 c言語のみ勉強したいのですがVisual C++ 2008で、.cファイルを作成し、 これをコンパイルしようとすると必ずエラーが出ます。 原因を色々なページを回って探したのですが 「.cppファイルにすればコンパイルできます」という回答しか見当たりません c言語でも最初のうちは.cppファイルでも問題なく動くようですが、 高度なレベルに行くとcpp独自のエラーが出ると聞いております。 このような状態でc言語を勉強するのも微妙です なんとか.cファイルでコンパイラする方法は無いでしょうか? あるいはVisual C++ 2008に代わるお勧めのソフトでも結構です よろしくお願いします。

  • エクセルの文字コードを変更したい

    Excel2016を使用しています。ダウンロードしたCSVファイルを開くと文字化けしてしまうので文字コードをUTF-8形式にする方法を詳しく教えてください。

専門家に質問してみよう