- PR -

native2asciiで機種依存文字が\ufffd

1
投稿者投稿内容
みけぽん
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-07-27 16:51
はじめまして。native2asciiでの機種依存文字の扱いについて
お知恵を借りたくお願いいたします。

native2asciiでunicodeエスケープしたpropertiesファイルを
jspから読み込んだところ、鰍ネどの機種依存文字が?になって
しまいます。機種依存以外の他2バイト文字は正常に表示され
ます。

propertiesファイルを見てみたところ、機種依存文字の部分
だけが\ufffdになっていますので、native2ascii実行時に
すでに判別不可なようです。

行った手順詳細は以下のとおりです。

1.windows xp上で作成したpropertiesファイルをRed had9サーバ
 上に転送。(FFFTP使用、ホストEUC-JP設定、アスキー転送
 モードで、転送後ファイルで機種依存が正常に表示されること
 を確認。)
2.native2ascii実行。実行コマンド下記(j2sdk1.4.2_05)
 native2ascii test_ja.p test_ja.properties
3.実行後propertiesファイルでWindows機種依存文字部分が\ufffd
 となり、同様にWindows上ブラウザでの表示はjava判別不可?と
 なる。

以上です。native2asciiでunicodeエスケープをおこなえば機種依存
文字にも対応できるという認識を持っていたのですが、間違いなの
でしょうか。

色々な資料を調べたのですが、文字コードと機種依存文字の取扱に
ついて、勉強を始めたばかりなので、不足している情報や勘違いなど
ありましたらご指摘いただければと思います。

よろしくお願いいたします。
未記入
会議室デビュー日: 2004/06/25
投稿数: 6
投稿日時: 2004-07-27 18:10
-encoding 変換処理で使用するコードの名前を指定してやれば大丈夫だと思います。

$ cat ts.txt

$ native2ascii -encoding MS932 ts.txt
\u3231
$ native2ascii -encoding EUC_JP ts.txt
\ufffd

ただし、下記は間違いだと思います。

>native2asciiでunicodeエスケープをおこなえば機種依存
>文字にも対応できるという認識を持っていたのですが、間違いなの
>でしょうか。
みけぽん
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-07-27 19:07
質問投稿者です。ご回答いただきありがとうございます。

-encoding オプションをつけて試してみましたところ、
現在command not found となり、実行できない状態です。

しかし、お教えいただきましたことから調べてみました
ところative2asciiの使い方に問題があり、理解がたりない
ことが分かりましたので、もう少し勉強して改善方法を
探っていこうと思います。

linuxの扱いに慣れないため、くだらない質問をしてしまい
ましたところをお答えいただきありがとうございます。
とても良いヒントとなりました。

当方のレベルが低いため、おそらく低レベルなことが原因な
気がしますが、以後状況が変わりましたら、一応経過を報告
させていただきます。
ぼんじぃ
ベテラン
会議室デビュー日: 2004/05/21
投稿数: 70
投稿日時: 2004-07-27 21:19
こんばんわ。

>現在command not found となり、実行できない状態です。
おそらくパスが通っていないのではないでしょうか?


[ メッセージ編集済み 編集者: ぼんじぃ 編集日時 2004-07-27 21:41 ]
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2004-07-28 12:25
引用:

みけぽんさんの書き込み (2004-07-27 19:07) より:

-encoding オプションをつけて試してみましたところ、
現在command not found となり、実行できない状態です。



native2asciiコマンドだけだと実行できていたようなので、コマンドとオプションの間にスペースが入っていないとか。

$ native2ascii-encoding → ×
$ native2ascii -encoding → ○

みけぽん
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-07-28 15:09
皆様、ご回答いただき大変ありがとうございます。

昨日から何度か試してみたのですが、未だ解決できていない
状況です。native2asciiだけでは実行できているので、パス
は通っているようなのですが、オプションを付けると
command not foundとなってしまいます。

実行コマンドは下記を入力しています。

native2ascii -encoding MS932 test.txt

スペースは「native2ascii」「-encoding」「MS932」「test.txt」
のそれぞれの間に入れています。

どうもオプションを認識していない?感じなので、Red had9での
native2asciiの取扱いについて、もう少し詳しく調べてみたいと
思います。
koji
大ベテラン
会議室デビュー日: 2002/12/25
投稿数: 100
投稿日時: 2004-07-28 15:55
こんにちは。
当方のRed had9では問題無く以下の2つのコマンドが実行出来ましたよ。

native2ascii a.txt b.txt
native2ascii -encoding MS932 a.txt b.txt

j2sdkは1.4.2_02でbinのパスを通しただけです。



みけぽん
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-07-28 16:53
お手元にてお試しいただきましてありがとうございます。

コマンド実行できました。書式自体を間違っていたようです。
お教えいただきましたとおり、エスケープ後のファイル名を
指定したところ上手くいきました。

実行成功したコマンドは下記のとおりです。

native2ascii -encoding MS932 test.txt test.properties

この方法で実行したところ、鰍ェunicodeの鰍ノ該当する
「\u3231」に変換されました。(FFFTPでの変換前ファイル
転送は、漢字コード変換無し、アスキー転送モードで転送)

このたびは、短時間に多数の方にご協力いただき大変助かり
ました。また、お忙しいところお時間をとっていただき誠に
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)