C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: 文字エンコードを選ぶ判断基準


(過去ログ 27 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■12851 / inTopicNo.1)  文字エンコードを選ぶ判断基準
  
□投稿者/ nbmyou (5回)-(2008/01/18(Fri) 17:03:48)

分類:[設計/仕様] 

いつも当掲示板には、大変お世話になっております。
初心者のnbmyouと申します。

今、あるWindowsサービスの設計をしています。
大まかにお伝えしますと、別のアプリケーションから定期的に取得したデータを
DBに格納するWindowsサービスです。
そのなかで、
設定ファイルをXML形式とすることとし、設定ファイルの中身について設計を始めたのですが・・・

そのxmlファイルの文字エンコードを決めるところで、
はやくも考え込むことになってしまいました。
「Windowsなんだから、shift-jisでいいのかな・・・」
「最近はUTF-8にするのが主流なんだろうか・・・」
「DBに使用するデータもあるわけだから、該当のDBでは何のエンコードを使用しているのか調べるべきか・・・?」
(しかし設定ファイル内の、DBとのやりとりに使用するデータは全部アルファベットで、日本語は使用しない)
「問題さえ起こらなきゃ、なんのエンコードでもいいような・・・」
とあれこれ考えているうちに時間ばかりがたってしまい、結論を出せずにおります。

みなさんは、どのような判断基準で、
文字エンコードを決定していますでしょうか?

参考とさせていただきたいので、お手数ですがご意見をお聞かせいただけませんでしょうか。
よろしくお願いいたします。
引用返信 編集キー/
■12854 / inTopicNo.2)  Re[1]: 文字エンコードを選ぶ判断基準
□投稿者/ Tom Yama (15回)-(2008/01/18(Fri) 17:36:12)
2008/01/18(Fri) 17:51:03 編集(投稿者)

# すみません。丸々、書き換えました。前のを見た人は、忘れていただけると、幸いです。

わたしなら、
「このプログラムは、実はだれか知らない人が書いていて、そのメンテナンス作業が自分に振ってきたとしたら?」
ということが、判断基準になります。

今回は設定ファイルということで、他所からは見られないのであれば、ソースコードと同じにしますね。

ソースコードのエンコーディングも選択権があるというのであれば、
その他のアプリケーションか、DBと、合わせるでしょう。
引用返信 編集キー/
■12859 / inTopicNo.3)  Re[2]: 文字エンコードを選ぶ判断基準
□投稿者/ 凪瀬 (7回)-(2008/01/18(Fri) 18:39:10)
凪瀬 さんの Web サイト
とりあえずUTF-8としますね。私の場合。
どうせアスキー文字しか使わないのならアスキー互換だし。

もっともXMLは文字コードがちゃんと明示されるので文字コードを
何にしても大して困ることにはなりません。
引用返信 編集キー/
■12863 / inTopicNo.4)  Re[3]: 文字エンコードを選ぶ判断基準
□投稿者/ THREE-ONE (24回)-(2008/01/18(Fri) 19:46:42)
2008/01/18(Fri) 19:49:16 編集(投稿者)

確か XML のパーサーは UTF-8 と UTF-16 は必ず処理できなければならないはずです。
Shift_JIS の扱えないパーサーはあっても UTF-8 を処理できないパーサーは(ほぼ)ありません。
たとえ encoding="Shift_JIS" とあっても、パーサーが処理できない可能性は 0 ではないわけです。
まあ、そんなパーサーはごく少数でしょうが。
なので、私は基本的に UTF-8 を選びます。
その XML がどの処理系で扱われてもまず安心だろうだからです。

設定ファイルではなくデータファイルだとしたら、データの内容で UTF-8 と UTF-16 を切り替えますけど。

引用返信 編集キー/
■12864 / inTopicNo.5)  Re[4]: 文字エンコードを選ぶ判断基準
□投稿者/ 魔界の仮面弁士 (579回)-(2008/01/18(Fri) 20:04:23)
No12863 (THREE-ONE さん) に返信
> 確か XML のパーサーは UTF-8 と UTF-16 は必ず処理できなければならないはずです。
仕様上はそのはずなのですが、Shift_JIS 専用の国産 XML エディタに出_会った事があります…。(泣)
# 製品名は失念。もしかしたら、XSL エディタだったかも(うろ覚え)。

そういえば、Microsoft XML Notepad の最初のバージョンは、
日本語のタグを一切使えませんでした。今は大丈夫ですけれども。

> なので、私は基本的に UTF-8 を選びます。
同じく。
引用返信 編集キー/
■12869 / inTopicNo.6)  Re[5]: 文字エンコードを選ぶ判断基準
□投稿者/ nbmyou (6回)-(2008/01/18(Fri) 21:31:22)
No12854 (Tom Yama さん) に返信
No12859 (凪瀬 さん) に返信
No12863 (THREE-ONE さん) に返信
No12864 (魔界の仮面弁士 さん) に返信

みなさん、回答ありがとうございます。
とても参考になりました。

一番多かった「UTF-8」にしようかな、と思います。

+++以下、蛇足+++
ちょっと今思ったのですが。
この設定ファイルは、普段はめったに触ることがないとはいえ、
ユーザが編集する可能性があるものです。

もし、ユーザがnotepadで開いて保存したら
shift_jisになって読めなくなるのでは・・・?
となると、notepadで間違いなく読み書きできる、
「shift_jis」がいいのかな?


などと考え、上記文書を書いたのですが、
notepadって「shift_jis」しか対応してないって訳じゃないんですね。
今までずっと勘違いしてました。。。
notepadでも「UTF-8」が扱えるのならば、
やはりエンコードは「UTF-8」にしようと思います。
++++++++++

以上です。どうもありがとうございました。
解決済み
引用返信 編集キー/
■12871 / inTopicNo.7)  Re[6]: 文字エンコードを選ぶ判断基準
□投稿者/ 魔界の仮面弁士 (581回)-(2008/01/18(Fri) 21:49:33)
No12869 (nbmyou さん) に返信
> 一番多かった「UTF-8」にしようかな、と思います。
実装の古い処理系だと、BOM の有無が影響することもありますね(今回の場合は関係無いですが)。
BOM 無しが前提の処理系だと、ZWNS として扱われてしまってエラーになったりとか。

> notepadって「shift_jis」しか対応してないって訳じゃないんですね。
> 今までずっと勘違いしてました。。。
Unicode 対応のもの(Win2000等)もありますが、
Unicode 非対応のもの(Win98等)もありますよ。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -