からのJavaとの特別なcharatters(æのøAの)を読みます。は、私が(JDBCドライバとGlassFish tooplinkを使用)、Oracleデータベースから特別charattersを読んで問題を抱えているOracleデータベース
私は、データベースに、データが正しく保存され、Webサービスを介してデータベースに名前「GRØNLÅENKJÆTIL」を記憶して。
しかし、私はこの文字列を読んだときに、ログファイルに印刷し、バイト配列の聖霊降臨祭でこれを変換し、このコード:
int pos = 0;
byte[] msg=new byte[1024];
String F = "F" + passenger.getName();
logger.debug("Add " + F + " " + F.length());
msg = addStringToArrayBytePlusSeparator(msg, F,pos);
..............
private byte[] addStringToArrayBytePlusSeparator(byte[] arrDest,String strToAdd,int destPosition)
{
System.arraycopy(strToAdd.getBytes(Charset.forName("ISO-8859-1")), 0, arrDest, destPosition, strToAdd.getBytes().length);
arrDest = addSeparator(arrDest,destPosition+strToAdd.getBytes().length,1);
return arrDest;
}
ログファイルに
1)がある。)が印刷されていません(名前は正しくないとF.length()「FGRÃNLÃを追加します」。
2)コードスロー: java.lang.ArrayIndexOutOfBoundsException java.lang.System.arraycopy(ネイティブメソッド) でit.edea.ebooking.business.chi.control.VingCardImpl.addStringToArrayBytePlusSeparatorで(Test.java 225)。
戦車
私はWindows OSでこのプロジェクトを実行するとうまく動作しますが、Linuxシステムでは問題は解決しません。 – Luigi