「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板

(#2210) 文字コードの変換の際、半角カタカナが全角カタカナになる - うぇいく (2013-08-22 17:38) /低 未処理
EUC-JPの半角カナを用いると問題の発生する環境というものが存在(※)するため、
普通に変換しようとした際には自動的に全角カナへと変換しています。
(だと思います。なので、動作の変更はしないと思います。)

確実に大丈夫という場合(自分で保存したデータを自分で参照する場合等)、nkfのオプションを直接指定して、
----
X=「漢字交じりアイウエヲ」
Xを「--ic=MS932 -x -e」でNKF変換
----
等とすることで、半角カナを維持したまま変換することが可能です。
--ic=MS932は、入力文字列の文字のエンコードを指定しています。
-xは、半角カナから全角カナへの自動的な変換を抑止します。
-eは、出力文字列の文字のエンコードとして標準的なeuc-jpを指定しています。
自分のプログラムから参照するのではなく、他のシステムや人に渡す(メールでの送信も含む)場合は、十分注意が必要です。

※その昔のUnix系OSでOSのエンコードとしてEUC-JPが一般的だったころ、半角カナを表示できない環境が多くあったようです。今はUTF8が一般的です。
 また、エンコードの自動認識の際、EUC-JPの半角カナは誤認識の原因になることもあります。

蛇足。
 いわゆるShift_JISには、MS-DOSやMS-Windowsで用いられているMS932(CP932)があり、標準的なShift_JISとは微妙に異なったりします。正しく指定していない場合、ごく少数の特定の文字で化けてしまったりします。
 同じキャラクターセットの別のエンコードにあたるEUC-JPにも似たようなものがあり、標準的なEUC-JP以外に、MS-DOSやMS-WindowsのCP51932や、SorarisのeucJP-ms等があり、それぞれ微妙に異なります。どれにすればよいのかは、受け取り側に確認するのが確実です。
文字EUC変換すると半角カタカナが全角カ.. / okbtso (2013-08-22 16:04) (#2208)/ 低 未処理
  文字コードの変換の際、半角カタカナが全.. / うぇいく (2013-08-22 17:38) (#2210)/ 低 未処理
  またまたありがとうございます / okbtso (2013-08-22 18:22) (#2211)/ 低 解決

(#2210)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能