[openrtm-users 01134] Re: java版1.0RC1でのTimedStringでの日本語の取り扱いについて

katami fsi-katami @ aist.go.jp
2010年 2月 22日 (月) 19:28:27 JST


早稲田大学  菅様

お世話になっております。
産総研  片見です。

>  > jp.go.aist.rtm.RTC.util.WStringHolderクラス
>  > が必要になると思いますがいかがでしょうか?
> WStringHolderクラスは,ConfigurationでWString型を使う場合に必要でした.
> DataPort等の扱いのみでは必要ないと思います.
> とりあえず,自分の環境ではうまくいっているようです.
ご指摘ありがとうございます。


今回の問題は、
ワイド文字列型を
org.omg.CORBA.portable.InputStream(OutputStream) の
read_string(write_string) で扱ったことにより発生しました。
   ただし、先程、安藤さんのメールで 
   UTF-8 は java のコマンドラインオプションで
   使用できるという情報を頂きました。

StringHolder 内では、
read_string および write_string を使用しています。

調査して
問題がある場合は、修正いたします。

ご報告ありがとうござました。



On Mon, 22 Feb 2010 18:40:00 +0900
ysuga <ysuga @ pop07.odn.ne.jp> wrote:

> 早大の菅です.
> すみません.自己レスです.
> 
> 
>  > jp.go.aist.rtm.RTC.util.WStringHolderクラス
>  >
>  > が必要になると思いますがいかがでしょうか?
> 
> 
> WStringHolderクラスは,ConfigurationでWString型を使う場合に必要でした.
> DataPort等の扱いのみでは必要ないと思います.
> とりあえず,自分の環境ではうまくいっているようです.
> 
> 
> ではでは
> 
> 
> /***************************************
>   * 菅 佑樹
>   * ysuga @ ysuga.net
>   * http://www.ysuga.net
>   * お知らせ:RTミドルウエア始めました
>   ***************************************/
> 
> (2010/02/22 17:36), ysuga wrote:
> > OpenRTM-aist MLの皆さま:
> > 早大の菅です.
> >
> > 同様の問題に片見様ご提案の方法で対処しましたところ,実行可能でした.
> > ただその場合,
> >
> > jp.go.aist.rtm.RTC.util.WStringHolderクラス
> >
> > が必要になると思いますがいかがでしょうか?
> > RC1のJava版コードをSVNで取得し,
> > 僕の環境でEclilpseのAntプロジェクトのインポート後に
> > idlコンパイルを実行したら,
> > WStringHolderクラスは生成されませんよね?
> >
> >
> >
> > /***************************************
> > * 菅 佑樹
> > * ysuga @ ysuga.net
> > * http://www.ysuga.net
> > * お知らせ:RTミドルウエア始めました
> > ***************************************/
> >
> > (2010/02/22 16:52), katami wrote:
> >> NECシステムテクノロジー
> >> 藤岡 俊考 様
> >>
> >> お世話になっております。
> >> 産総研 片見です。
> >>
> >> Java版の場合、日本語はワイド文字列型(wstring)を使用するこになります。
> >> TimedString 型 ( 参照 BasicDataType.idl) は time 型と string 型で構成
> >> されているため、
> >> ご報告頂いたエラーが発生いたします。
> >>
> >> TimedWString 型を定義した idl ファイルを添付いたします。
> >> (time 型と wstring 型で構成してあります。)
> >> TimedString 型 を TimedWString 型 に変更して
> >> ご使用して頂ければ、日本語も送信可能となります。
> >>
> >> 添付した idl ファイルは、BasicDataType.idl をインクルードしています。
> >> idl をコンパイルする際は、-i オプションにてフォルダの指定をお願いいた
> >> します。
> >> >idlj -i "C:\Program Files\OpenRTM-aist\jp.go.aist.rtm.RTC\idl"
> >> UsersDataType.idl
> >>
> >> お手数ですが、
> >> よろしくお願いいたします。
> >>
> >> On Mon, 22 Feb 2010 14:43:40 +0900
> >> Toshitaka Fujioka<fujioka-txa @ necst.nec.co.jp> wrote:
> >>
> >>> OpenRTM-aist開発者様、お世話になっております。
> >>> NECシステムテクノロジーの藤岡と申します。
> >>>
> >>>
> >>> OpenRTM-aist-Java-1.0.0-RC1.msi付属のサンプルソース
> >>> ConsoleInImpl.java、ConsoleOutImpl.java
> >>> のポートのデータタイプを添付ファイルのようにTimedStringに変更しデータ
> >>> のやり取りをしたところ
> >>> ascii文字は問題なく送受信できますが、日本語を送信しようとすると以下の
> >>> ようなエラーが表示され
> >>> ます。
> >>>
> >>> java版のTimedString型ではC++・Python版のように日本語を取り扱うことは
> >>> 出来ないのでしょうか?
> >>>
> >>> ==================================================================
> >>> Please input number:
> >>> abcd
> >>> Sending to subscriber: abcd
> >>> Please input number:
> >>> あいうえお
> >>> Sending to subscriber: あいうえお
> >>> 2010/02/22 14:17:11
> >>> com.sun.corba.se.impl.encoding.CodeSetConversion$JavaCTBConv
> >>> erter convertCharArray
> >>> 警告: "IOP02400001: (DATA_CONVERSION) Character does not map to
> >>> negotiated trans
> >>> mission code set"
> >>> org.omg.CORBA.DATA_CONVERSION: vmcid: OMG minor code: 1 completed: No
> >>> at com.sun.corba.se.impl.logging.OMGSystemException.charNotInCodeset(Unk
> >>> nown Source)
> >>> at com.sun.corba.se.impl.logging.OMGSystemException.charNotInCodeset(Unk
> >>> nown Source)
> >>> at com.sun.corba.se.impl.encoding.CodeSetConversion$JavaCTBConverter.con
> >>> vertCharArray(Unknown Source)
> >>> at com.sun.corba.se.impl.encoding.CodeSetConversion$JavaCTBConverter.con
> >>> vert(Unknown Source)
> >>> at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.writeString(Unknow
> >>> n Source)
> >>> at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.write_string(Unkno
> >>> wn Source)
> >>> at com.sun.corba.se.impl.encoding.CDROutputStream.write_string(Unknown S
> >>> ource)
> >>> at RTC.TimedStringHelper.write(Unknown Source)
> >>> at RTC.TimedStringHolder._write(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.port.OutPort.write_stream(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.port.OutPort.write(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.port.OutPort.write(Unknown Source)
> >>> at RTMExamples.SimpleIO.ConsoleInImpl.onExecute(ConsoleInImpl.java:103)
> >>> at jp.go.aist.rtm.RTC.RTObject_impl.on_execute(Unknown Source)
> >>> at OpenRTM.DataFlowComponentPOA._invoke(Unknown Source)
> >>> at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispa
> >>> tchToServant(Unknown Source)
> >>> at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispa
> >>> tch(Unknown Source)
> >>> at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest
> >>> Request(Unknown Source)
> >>> at com.sun.corba.se.impl.protocol.SharedCDRClientRequestDispatcherImpl.m
> >>> arshalingComplete(Unknown Source)
> >>> at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(Unknown
> >>> Source)
> >>> at org.omg.CORBA.portable.ObjectImpl._invoke(Unknown Source)
> >>> at OpenRTM._DataFlowComponentStub.on_execute(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.executionContext.PeriodicExecutionContext$DFP.on_e
> >>> xecute(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.executionContext.PeriodicExecutionContext$DFPBase$
> >>> onExecute.doAction(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.StateMachine.worker(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.executionContext.PeriodicExecutionContext$DFPBase.
> >>> worker(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.executionContext.PeriodicExecutionContext$Comp.inv
> >>> oke(Unknown Source)
> >>> at jp.go.aist.rtm.RTC.executionContext.PeriodicExecutionContext.svc(Unkn
> >>> own Source)
> >>> at jp.go.aist.rtm.RTC.executionContext.PeriodicExecutionContext.run(Unkn
> >>> own Source)
> >>> at java.lang.Thread.run(Unknown Source)
> >>> Caused by: java.nio.charset.UnmappableCharacterException: Input
> >>> length = 1
> >>> at java.nio.charset.CoderResult.throwException(Unknown Source)
> >>> at java.nio.charset.CharsetEncoder.encode(Unknown Source)
> >>> ... 28 more
> >>> =================================================================================
> >>>
> >>>
> >>>
> >>> 以上です、よろしくお願いいたします。
> >>> 失礼いたします。
> >>>
> >>> --
> >>> NECシステムテクノロジー(株)
> >>> プラットフォーム事業本部 エンベデッドソフトウェア事業部
> >>> ウインドウズ エンベデッド ソリューション センター
> >>> 藤岡 俊考 fujioka-txa @ necst.nec.co.jp
> >>> tel: 078-991-5580 telnet: 8-73-73869
> >>
> >>
> >> 独立行政法人産業技術総合研究所
> >> 知能システム研究部門 統合知能研究グループ
> >> 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
> >> 片見 剛人<fsi-katami @ aist.go.jp>
> >>
> >> ?
> >>
> >> __________ ESET NOD32 Antivirus からの情報, ウイルス定義データベースの
> >> バージョン 4885 (20100221) __________
> >>
> >> このメッセージは ESET NOD32 Antivirus によって検査済みです。
> >>
> >> http://canon-its.jp
> >>
> >
> >
> > __________ Information from ESET NOD32 Antivirus, version of virus
> > signature database 4885 (20100221) __________
> >
> > The message was checked by ESET NOD32 Antivirus.
> >
> > http://www.eset.com
> >
> >
> >
> >
> 


独立行政法人産業技術総合研究所
知能システム研究部門 統合知能研究グループ
〒305-8568 茨城県つくば市梅園1-1-1 中央第2
片見 剛人 <fsi-katami @ aist.go.jp>





openrtm-users メーリングリストの案内