VC2005プロジェクトの文字コード設定

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tk-xleader

VC2005プロジェクトの文字コード設定

#1

投稿記事 by tk-xleader » 16年前

VC2005で、ソースファイルにUTF-8(BOMなし)を扱いたいのですが、ソースファイルの文字コードを指定する方法はあるでしょうか?

tk-xleader

Re:VC2005プロジェクトの文字コード設定

#2

投稿記事 by tk-xleader » 16年前

適当なプロジェクトをたて、utf-8(BOMなし)をコンパイルした結果です。
#include<iostream>

int main()
{
	std::cout<<"テストです 漢字も入れます"<<std::endl;
	std::cout<<"This is Alphabet"<<std::endl;
	return 0;
}
1>------ ビルド開始: プロジェクト: scuni, 構成: Debug Win32 ------
1>コンパイルしています...
1>main.cpp
1>d:\programings\visualstudio\c++ native\scuni\scuni\main.cpp : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
1>d:\programings\visualstudio\c++ native\scuni\scuni\main.cpp(5) : error C2001: 定数が 2 行目に続いています。
1>d:\programings\visualstudio\c++ native\scuni\scuni\main.cpp(6) : error C2143: 構文エラー : ';' が 'std::cout' の前にありません。
1>ビルドログは "file://d:\Programings\VisualStudio\C++ Native\scuni\scuni\Debug\BuildLog.htm" に保存されました。
1>scuni - エラー 2、警告 1

Justy

Re:VC2005プロジェクトの文字コード設定

#3

投稿記事 by Justy » 16年前


>ソースファイルの文字コードを指定する方法はあるでしょうか?

 多分ないと思います。
 MSVCでは UTF-8(BOMなし)はシフトJISと認識されてしまいますので、
BOMありにするしかないんじゃないかと。

tk-xleader

Re:VC2005プロジェクトの文字コード設定

#4

投稿記事 by tk-xleader » 16年前

ありがとうございます。
BOMなしでは無理でしたか…、GCCではBOMありではコンパイルが通らなくなってしまうんですよね…

ソースコードのunicode化を進めていきたかったのですが…、かといってutf-16にしてしまうと、ソースコードの性質上半角英数が多いのでサイズが馬鹿みたいに増えていくんですよね…

そもそも、ソースコードをUnicodeにすることって推進すべきでしょうか?それともやめとくべきでしょうか?

Justy

Re:VC2005プロジェクトの文字コード設定

#5

投稿記事 by Justy » 16年前

 うーん、そういうことなら多少サイズが大きくなってもUTF-16にするか
諦めて従来の文字コードにするしかないでしょうね。

 或いはビルド前のイベント・バッチで文字コードを変換してから
ビルドする、とか。



>推進すべきでしょうか
>それともやめとくべきでしょうか

 世の中的には推進方向なんでしょうけど、こういうのは環境や状況に合わせて
ケースバイケースで決めないといろいろ苦労しそうです。

 今回は特定のバージョンの2コンパイラのみの対応で、
UTF-16でうまくいっているのであれば、UTF-16でいいと思います。

tk-xleader

Re:VC2005プロジェクトの文字コード設定

#6

投稿記事 by tk-xleader » 16年前

>世の中的には推進方向なんでしょうけど、こういうのは環境や状況に合わせて
>ケースバイケースで決めないといろいろ苦労しそうです。

とりあえず、今回作成中のソフト(とは言っても単なるバージョンアップ)は、将来の本格的なプロジェクトに向けた、テストも兼ねてやっています。
今回はBOM付utf-8で作成します。ATL/WTL使っていますし、今回はVCのみの対応でもさほど問題なさそうなので…

閉鎖

“C言語何でも質問掲示板” へ戻る