• 締切済み

JNIを使った、全角半角が混在した文字列の引数、戻り値の受け渡し

JNIを使用して、JavaからExcelを操作しようと考えております。 ワークブックを開くDLL関数を用意し、 その際に、引数としてファイルのフルパスを、戻り値として開かれたブックの名称を返すようにしたのですが、 半角英数の文字は正しく帰ってくるのですが、全角のファイル、及びフォルダを引数に指定した場合、 文字化けが発生し、ブックを開けず、困っております。 JNIを使った全角半角が混在した引数、戻り値の関数の受け渡しを行なうにはどのようにすればよいのでしょうか。 ご回答をよろしくお願いいたします。

みんなの回答

  • kacchann
  • ベストアンサー率58% (347/594)
回答No.1

JNIやCについてよく知らないので、 見当ハズレなレスかもしれないけど。 半角文字だけを使った場合にうまく機能する、というのであれば、 問題となっているのは、 「Java・C間でやりとりされる文字列の文字エンコーディングの違い」 だけだよね? Googleでキーワード 「Java 文字列 C JNI 変換」 を指定して見つけたページ http://www.ki.rim.or.jp/~kuro/Java/JNI/JNI-03.html http://y-yutaka.cool.ne.jp/tec/java/jni.html で、どうかな。 (ようはC側で文字列を適切に変換するだけみたい)

o_w_nakazaki
質問者

お礼

ありがとうございます。 参考にさせていただきます。

関連するQ&A

専門家に質問してみよう