Seite 1 von 1

Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Namen

Verfasst: Samstag 12. Januar 2013, 23:13
von DIG
Hallo,

gerade will ich die DTAUS-Datei erstellen und bekomme folgenden Fehler:

Code: Alles auswählen

error while reading objects from C:\Dokumente und Einstellungen\carsten\abbuchung-20130112-230034.TXT
de.jost_net.OBanToo.Dtaus.DtausException: Ungültiges Zeichen: ð(0xF0) an Position 11: JONSSON, GUðBJÖRN H. im Feld NameEmpfänger des C-Satzes
	at de.jost_net.OBanToo.Dtaus.CSatz.setNameEmpfaenger(CSatz.java:777)
	at de.jost_net.OBanToo.Dtaus.DtausDateiWriter.setCName(DtausDateiWriter.java:281)
	at de.jost_net.JVerein.io.Abrechnung.writeCSatz(Abrechnung.java:607)
	at de.jost_net.JVerein.io.Abrechnung.<init>(Abrechnung.java:112)
	at de.jost_net.JVerein.gui.control.AbbuchungControl$5.run(AbbuchungControl.java:380)
	at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)
Grund ist hier offensichtlich der Sonderbuchstaben ð im Namen des Mitglieds.
Wie kann die DTAUS-Datei erstellt werden ohne dass ich Sonderbuchstaben aus den Mitgliedsnamen entfernen muss - wir sind halt ein Verein mit Mitgliedern in deren Namen aufgrund ausländischer Herkunft durchaus ð, æ usw. vorkommen können und die Mitglieder sollen natürlich mit der korrekten Namensschreibweise geführt und angeschrieben werden.

Viele Grüße,
Carsten

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Sonntag 13. Januar 2013, 11:22
von Albrecht
Hallo Carsten,
ich weiß zwar nicht, wie das in Jverein bzw. Hibiscus implementiert ist, aber eine DTAUS-Datei darf diese Zeichen nicht enthalten. Hier ein Auszug aus
"Anlage 3 der Schnittstellenspezifikation für die Datenfernübertragung zwischen Kunde und Kreditinstitut gemäß DFÜ-Abkommen „Spezifikation der Datenformate“ Version 2.6 vom 18.06.2012 gültig ab 17. November 2012":

1.1
DTAUS0: Zahlungsverkehrssammelauftrag Diskettenformat
Die Datei im Diskettenformat (ASCII Format; ungepackt) hat folgende Dateispezifikation:
Zugelassener Zeichencode Zeichen Hexcode
Nummerische Zeichen 0 bis 9 X '30' - X '39'
Großbuchstaben A bis Z X '41' - X '5A'
Sonderzeichen:
Leerzeichen "" X '20'
Punkt "." X '2E'
Komma "," X '2C'
Kaufmännisches „und“ "&" X '26'
Trennstrich "-" X '2D'
Schrägstrich "/" X '2F'
Pluszeichen "+" X '2B'
Stern "*" X '2A'
Dollar "$" X '24'
Prozentzeichen "%" X '25'
Umlaute und ß:
"Ä" X '5B'
"Ö" X '5C'
"Ü" X '5D'
"ß" X '7E'

Für den richtigen Ausdruck davon abweichender Zeichen übernehmen die Kreditinstitute
keine Haftung.
Das Kreditinstitut kann Kleinbuchstaben in Datensätzen in Großbuchstaben konvertieren
oder diese Datensätze an den Einreicher zurückgeben bzw. zurückweisen; unzulässige
Sonderzeichen kann es in Leerzeichen (Blanks) konvertieren.

Du wirst daher wohl andere Zeichen auswählen müssen, die von den Banken in Deutschland auch verarbeitet werden können.

Albrecht

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Sonntag 13. Januar 2013, 21:58
von DIG
Hallo Albrecht,

klar weiß ich vom bzw. kenne ich den beschränkten Zeichensatz der DTAUS-Spezifikation.

Nur: Ich möchte halt in der Mitgliederliste stets die Namen in der korrekten Schreibweise haben und die Entfernung/Transkription von Sonderbuchstaben (und auch Akzenten!) muss dann m.E. halt beim Erzeugen der DTAUS-Datei bzw. Lastschrift erfolgen.

Nach einen (nur kurzen) Blick in den JVerein-Quellcode scheint mir die Datei XLastschrift.java im Verzeichnis jverein > src > de > jost_net > JVerein > io zuständig bzw. geeignet für eine entsprechende Modifikation des Zahlungsempfängers. Die Methode addZahlungspflichtiger könnte dazu so ergänzt werden:

Code: Alles auswählen

public void addZahlungspflichtigen(String zahlungspflichtiger)
  {
    // diverse gängige besondere Buchstaben oder Akzente transskribieren bzw. entfernen
    zahlungspflichtiger = zahlungspflichtiger.toUpperCase();  
    zahlungspflichtiger = zahlungspflichtiger.replace("Á","A");
    zahlungspflichtiger = zahlungspflichtiger.replace("À","A");
    zahlungspflichtiger = zahlungspflichtiger.replace("Â","A");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ã","A");
    zahlungspflichtiger = zahlungspflichtiger.replace("Å","A");
    zahlungspflichtiger = zahlungspflichtiger.replace("Æ","AE");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ç","C");
    zahlungspflichtiger = zahlungspflichtiger.replace("É","E");
    zahlungspflichtiger = zahlungspflichtiger.replace("È","E");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ê","E");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ë","E");
    zahlungspflichtiger = zahlungspflichtiger.replace("Í","I");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ì","I");
    zahlungspflichtiger = zahlungspflichtiger.replace("Î","I");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ï","I");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ð","D");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ñ","N");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ó","O");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ò","O");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ô","O");
    zahlungspflichtiger = zahlungspflichtiger.replace("Õ","O");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ø","OE");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ú","U");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ù","U");
    zahlungspflichtiger = zahlungspflichtiger.replace("Û","U");
    zahlungspflichtiger = zahlungspflichtiger.replace("Ý","Y");
    zahlungspflichtiger = zahlungspflichtiger.replace("Þ","TH");
    this.zahlungspflichtiger.add(zahlungspflichtiger);
  }
Weitere Zeichen aus dem osteuropäischen oder türkischen Sprachraum könnten evtl. noch ergänzt werden.
Bitte prüft ob das sinnvoll in JVerein aufgenommen werden kann. Danke.

Viele Grüße,
Carsten

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Dienstag 15. Januar 2013, 20:17
von heiner
Hallo,

deinen Änderungsvorschlag könnte ich ggfls. in OBanToo (meine Bibliothek zur Erzeugung von u. a. DTAUS-Dateien) aufnehmen. Das werde ich aber momentan nicht machen, da die Umstellung auf SEPA ansteht. Wie das Thema Zeichensatz dort gehandhabt wird, habe ich noch nicht herausgefunden.

Heiner

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Mittwoch 16. Januar 2013, 10:18
von Rene
Lässt sich das als Notlösung evtl. über den Namen des Kontoinhabers lösen?

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Donnerstag 17. Januar 2013, 00:18
von DIG
Rene hat geschrieben:Lässt sich das als Notlösung evtl. über den Namen des Kontoinhabers lösen?
Hallo Rene,

gute Idee für einen Workaround, das probiere ich die Tage mal aus.

Viele Grüße,
Carsten

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Donnerstag 17. Januar 2013, 12:47
von heiner
Denk auch an die Zahlungsgründe, in die auch Vornamen mit einfließen.

Heiner

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Dienstag 29. Januar 2013, 00:10
von DIG
Hallo,

Heiner hat leider Recht:
heiner hat geschrieben:Denk auch an die Zahlungsgründe, in die auch Vornamen mit einfließen.

Heiner
Es funktioniert also nicht, es genügt nicht nur den Namen des Kontoinhabers ohne Sonderzeichen zu haben.

Die Lösung bzw. das Problem liegt tatsächlich in Heiners OBanToo, dort fehlen insbesondere 3 Zeichen, die bei mir vorkommen können.
heiner hat geschrieben:deinen Änderungsvorschlag könnte ich ggfls. in OBanToo (meine Bibliothek zur Erzeugung von u. a. DTAUS-Dateien) aufnehmen. Das werde ich aber momentan nicht machen, da die Umstellung auf SEPA ansteht. Wie das Thema Zeichensatz dort gehandhabt wird, habe ich noch nicht herausgefunden.
Die Änderung habe ich mal eingepflegt (in src\de\jost_net\OBanToo\Tools\Tr.java):

Code: Alles auswählen

/*
 * $Source: /cvsroot/obantoo/obantoo/src/de/jost_net/OBanToo/Tools/Tr.java,v $
 * $Revision: 1.3 $
 * $Date: 2013/01/29 23:55:00 $
 * $Author: jost / Carsten Mennenöh $
 *
 * Copyright 2009 by Heiner Jostkleigrewe
 * Diese Datei steht unter LGPL - siehe beigefügte lpgl.txt
 */
package de.jost_net.OBanToo.Tools;

import java.util.ArrayList;

/**
 * Translate Characters <br>
 * Quelle:
 * http://www.utf8-zeichentabelle.de/unicode-utf8-table.pl?number=1024&htmlent=1
 * 
 * @author Heiner Jostkleigrewe
 */
public class Tr
{

  public final static void main(String[] args)
  {
    System.out.println(normalizeUTF8("éèBlaÀÑ\u00ff\u0100"));
  }

  private static ArrayList<String> fromarray = new ArrayList<String>();

  private static ArrayList<String> toarray = new ArrayList<String>();

  static
  {
	/* Änderungen CM: 
	 * 	 U+00C0 bis U+0105: Unicode Codepos. und Beschreibungen ergänzt
	 *   U+00C5, U+00E6: geändert auf Ligatur AE bzw. ae, 
	 *   		bisherige Zeile mit '//Original:' auskommentiert und darüber stehen gelassen
	 *   		s.a. http://de.wikipedia.org/wiki/%C3%86
	 *   U+00DE, U+00F0, U+00FE: Buchstaben Þ, ð und þ ergänzt
	 *   Alle fehlenden Zeichen zwischen U+00C0 und U+0217 ergänzt, jedoch auskommentiert
	 */
	  
	add("À", "A");  // U+00C0 LATIN CAPITAL LETTER A WITH GRAVE
    add("Á", "A");  // U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
    add("Â", "A");  // U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
    add("Ã", "A");  // U+00C3 LATIN CAPITAL LETTER A WITH TILDE
	//add("Ä", "AE"); // U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
    add("Å", "A");  // U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
    //Original: add("Æ", "Ä");  // U+00C6 LATIN CAPITAL LETTER AE
    add("Æ", "AE"); // U+00C6 LATIN CAPITAL LETTER AE
    add("Ç", "C");  // U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA
    add("È", "E");  // U+00C8 LATIN CAPITAL LETTER E WITH GRAVE
    add("É", "E");  // U+00C9 LATIN CAPITAL LETTER E WITH ACUTE
    add("Ê", "E");  // U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
    add("Ë", "E");  // U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS
    add("Ì", "I");  // U+00CC LATIN CAPITAL LETTER I WITH GRAVE
    add("Í", "I");  // U+00CD LATIN CAPITAL LETTER I WITH ACUTE
    add("Î", "I");  // U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
    add("Ï", "I");  // U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS
    add("Ð", "D");  // U+00D0 LATIN CAPITAL LETTER ETH
    add("Ñ", "N");  // U+00D1 LATIN CAPITAL LETTER N WITH TILDE
    add("Ò", "O");  // U+00D2 LATIN CAPITAL LETTER O WITH GRAVE
    add("Ó", "O");  // U+00D3 LATIN CAPITAL LETTER O WITH ACUTE
    add("Ô", "O");  // U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
    add("Õ", "O");  // U+00D5 LATIN CAPITAL LETTER O WITH TILDE
	//add("Ö", "OE"); // U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
	//add("×", "");   // U+00D7 MULTIPLICATION SIGN
    add("Ø", "Ö");  // U+00D8 LATIN CAPITAL LETTER O WITH STROKE
    add("Ù", "U");  // U+00D9 LATIN CAPITAL LETTER U WITH GRAVE
    add("Ú", "U");  // U+00DA LATIN CAPITAL LETTER U WITH ACUTE
    add("Û", "U");  // U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
	//add("Ü", "UE"); // U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
    add("Ý", "Y");  // U+00DD LATIN CAPITAL LETTER Y WITH ACUTE
	add("Þ", "TH"); // U+00DE	LATIN CAPITAL LETTER THORN
	//add("ß", "ss"); // U+00DF LATIN SMALL LETTER SHARP S
    add("à", "a");  // U+00E0 LATIN SMALL LETTER A WITH GRAVE
    add("á", "a");  // U+00E1 LATIN SMALL LETTER A WITH ACUTE
    add("â", "a");  // U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
    add("ã", "a");  // U+00E3 LATIN SMALL LETTER A WITH TILDE
    //add("ä", "ae");  // U+00E4 LATIN SMALL LETTER A WITH DIAERESIS  
    add("å", "a");  // U+00E5 LATIN SMALL LETTER A WITH RING ABOVE
    //Original: add("æ", "ä");  // U+00E6 LATIN SMALL LETTER AE
    add("æ", "ae"); // U+00E6 LATIN SMALL LETTER AE
    add("ç", "c");  // U+00E7 LATIN SMALL LETTER C WITH CEDILLA
    add("è", "e");  // U+00E8 LATIN SMALL LETTER E WITH GRAVE
    add("é", "e");  // U+00E9 LATIN SMALL LETTER E WITH ACUTE
    add("ê", "e");  // U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
    add("ë", "e");  // U+00EB LATIN SMALL LETTER E WITH DIAERESIS
    add("ì", "i");  // U+00EC LATIN SMALL LETTER I WITH GRAVE
    add("í", "i");  // U+00ED LATIN SMALL LETTER I WITH ACUTE
    add("î", "i");  // U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
    add("ï", "i");  // U+00EF LATIN SMALL LETTER I WITH DIAERESIS
    add("ð", "d");  // U+00F0 LATIN SMALL LETTER ETH
    add("ñ", "n");  // U+00F1 LATIN SMALL LETTER N WITH TILDE
    add("ò", "o");  // U+00F2 LATIN SMALL LETTER O WITH GRAVE
    add("ó", "o");  // U+00F3 LATIN SMALL LETTER O WITH ACUTE
    add("ô", "o");  // U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
    add("õ", "o");  // U+00F5 LATIN SMALL LETTER O WITH TILDE
    //add("ö", "oe"); // U+00F6 LATIN SMALL LETTER O WITH DIAERESIS 
    //add("÷", "");   // U+00F7 DIVISION SIGN
    add("ø", "ö");  // U+00F8 LATIN SMALL LETTER O WITH STROKE
    add("ù", "u");  // U+00F9 LATIN SMALL LETTER U WITH GRAVE
    add("ú", "u");  // U+00FA LATIN SMALL LETTER U WITH ACUTE
    add("û", "u");  // U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
    //add("ü", "ue");  // U+00FC LATIN SMALL LETTER U WITH DIAERESIS
    add("ý", "y");  // U+00FD LATIN SMALL LETTER Y WITH ACUTE 
    add("þ", "th"); // U+00FE LATIN SMALL LETTER THORN
    add("ÿ", "y");  // U+00FF LATIN SMALL LETTER Y WITH DIAERESIS
    add("\u0100", "A"); // LATIN CAPITAL LETTER A WITH MACRON
    add("\u0101", "a"); // LATIN SMALL LETTER A WITH MACRON
    add("\u0102", "A"); // LATIN CAPITAL LETTER A WITH BREVE
    add("\u0103", "a"); // LATIN SMALL LETTER A WITH BREVE
    add("\u0104", "A"); // LATIN CAPITAL LETTER A WITH OGONEK
    add("\u0105", "a"); // LATIN SMALL LETTER A WITH OGONEK
    add("\u0106", "C"); // LATIN CAPITAL LETTER C WITH ACUTE
    add("\u0107", "c"); // LATIN SMALL LETTER C WITH ACUTE
    add("\u0108", "C"); // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
    add("\u0109", "c"); // LATIN SMALL LETTER C WITH CIRCUMFLEX
    add("\u010A", "C"); // LATIN CAPITAL LETTER C WITH DOT ABOVE
    add("\u010B", "c"); // LATIN SMALL LETTER C WITH DOT ABOVE
    add("\u010C", "C"); // LATIN CAPITAL LETTER C WITH CARON
    add("\u010D", "c"); // LATIN SMALL LETTER C WITH CARON
    add("\u010E", "D"); // LATIN CAPITAL LETTER D WITH CARON
    add("\u010F", "d"); // LATIN SMALL LETTER D WITH CARON
    add("\u0110", "D"); // LATIN CAPITAL LETTER D WITH STROKE
    add("\u0111", "d"); // LATIN SMALL LETTER D WITH STROKE
    add("\u0112", "E"); // LATIN CAPITAL LETTER E WITH MACRON
    add("\u0113", "e"); // LATIN SMALL LETTER E WITH MACRON
    add("\u0114", "E"); // LATIN CAPITAL LETTER E WITH BREVE
    add("\u0115", "e"); // LATIN SMALL LETTER E WITH BREVE
    add("\u0116", "E"); // LATIN CAPITAL LETTER E WITH DOT ABOVE
    add("\u0117", "e"); // LATIN SMALL LETTER E WITH DOT ABOVE
    add("\u0118", "E"); // LATIN CAPITAL LETTER E WITH OGONEK
    add("\u0119", "e"); // LATIN SMALL LETTER E WITH OGONEK
    add("\u011A", "E"); // LATIN CAPITAL LETTER E WITH CARON
    add("\u011B", "e"); // LATIN SMALL LETTER E WITH CARON
    add("\u011C", "G"); // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
    add("\u011D", "g"); // LATIN SMALL LETTER G WITH CIRCUMFLEX
    add("\u011E", "G"); // LATIN CAPITAL LETTER G WITH BREVE
    add("\u011F", "g"); // LATIN SMALL LETTER G WITH BREVE
    add("\u0120", "G"); // LATIN CAPITAL LETTER G WITH DOT ABOVE
    add("\u0121", "G"); // LATIN SMALL LETTER G WITH DOT ABOVE
    add("\u0122", "G"); // LATIN CAPITAL LETTER G WITH CEDILLA
    add("\u0123", "g"); // LATIN SMALL LETTER G WITH CEDILLA
    add("\u0124", "H"); // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
    add("\u0125", "h"); // LATIN SMALL LETTER H WITH CIRCUMFLEX
    add("\u0126", "H"); // LATIN CAPITAL LETTER H WITH STROKE
    add("\u0127", "h"); // LATIN SMALL LETTER H WITH STROKE
    add("\u0128", "I"); // LATIN CAPITAL LETTER I WITH TILDE
    add("\u0129", "i"); // LATIN SMALL LETTER I WITH TILDE
    add("\u012A", "I"); // LATIN CAPITAL LETTER I WITH MACRON
    add("\u012B", "i"); // LATIN SMALL LETTER I WITH MACRON
    add("\u012C", "I"); // LATIN CAPITAL LETTER I WITH BREVE
    add("\u012D", "i"); // LATIN SMALL LETTER I WITH BREVE
    add("\u012E", "I"); // LATIN CAPITAL LETTER I WITH OGONEK
    add("\u012F", "i"); // LATIN SMALL LETTER I WITH OGONEK
    add("\u0130", "I"); // LATIN CAPITAL LETTER I WITH DOT ABOVE
    add("\u0131", "i"); // LATIN SMALL LETTER DOTLESS I
    add("\u0134", "J"); // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
    add("\u0135", "j"); // LATIN SMALL LETTER J WITH CIRCUMFLEX
    add("\u0136", "K"); // LATIN CAPITAL LETTER K WITH CEDILLA
    add("\u0137", "k"); // LATIN SMALL LETTER K WITH CEDILLA
    add("\u0138", "k"); // LATIN SMALL LETTER KRA
    add("\u0139", "L"); // LATIN CAPITAL LETTER L WITH ACUTE
    add("\u013A", "l"); // LATIN SMALL LETTER L WITH ACUTE
    add("\u013B", "L"); // LATIN CAPITAL LETTER L WITH CEDILLA
    add("\u013C", "l"); // LATIN SMALL LETTER L WITH CEDILLA
    add("\u013D", "L"); // LATIN CAPITAL LETTER L WITH CARON
    add("\u013E", "l"); // LATIN SMALL LETTER L WITH CARON
    add("\u013F", "L"); // LATIN CAPITAL LETTER L WITH MIDDLE DOT
    add("\u0140", "l"); // LATIN SMALL LETTER L WITH MIDDLE DOT
    add("\u0141", "L"); // LATIN CAPITAL LETTER L WITH STROKE
    add("\u0142", "l"); // LATIN SMALL LETTER L WITH STROKE
    add("\u0143", "N"); // LATIN CAPITAL LETTER N WITH ACUTE
    add("\u0144", "n"); // LATIN SMALL LETTER N WITH ACUTE
    add("\u0145", "N"); // LATIN CAPITAL LETTER N WITH CEDILLA
    add("\u0146", "n"); // LATIN SMALL LETTER N WITH CEDILLA
    add("\u0147", "N"); // LATIN CAPITAL LETTER N WITH CARON
    add("\u0148", "n"); // LATIN SMALL LETTER N WITH CARON
    add("\u0149", "n"); // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
    //add("\u014A", "");  // LATIN CAPITAL LETTER ENG
    //add("\u014B", "");  // LATIN SMALL LETTER ENG
    add("\u014C", "O"); // LATIN CAPITAL LETTER O WITH MACRON
    add("\u014D", "o"); // LATIN SMALL LETTER O WITH MACRON
    add("\u014E", "O"); // LATIN CAPITAL LETTER O WITH BREVE
    add("\u014F", "o"); // LATIN SMALL LETTER O WITH BREVE
    add("\u0150", "O"); // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
    add("\u0151", "o"); // LATIN SMALL LETTER O WITH DOUBLE ACUTE
    add("\u0152", "Ö"); // LATIN CAPITAL LIGATURE OE
    add("\u0153", "ö"); // LATIN SMALL LIGATURE OE
    add("\u0154", "R"); // LATIN CAPITAL LETTER R WITH ACUTE
    add("\u0155", "r"); // LATIN SMALL LETTER R WITH ACUTE
    add("\u0156", "R"); // LATIN CAPITAL LETTER R WITH CEDILLA
    add("\u0157", "r"); // LATIN SMALL LETTER R WITH CEDILLA
    add("\u0158", "R"); // LATIN CAPITAL LETTER R WITH CARON
    add("\u0159", "r"); // LATIN SMALL LETTER R WITH CARON
    add("\u015A", "S"); // LATIN CAPITAL LETTER S WITH ACUTE
    add("\u015B", "s"); // LATIN SMALL LETTER S WITH ACUTE
    add("\u015C", "S"); // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
    add("\u015D", "s"); // LATIN SMALL LETTER S WITH CIRCUMFLEX
    add("\u015E", "S"); // LATIN CAPITAL LETTER S WITH CEDILLA
    add("\u015F", "s"); // LATIN SMALL LETTER S WITH CEDILLA
    add("\u0160", "S"); // LATIN CAPITAL LETTER S WITH CARON
    add("\u0161", "s"); // LATIN SMALL LETTER S WITH CARON
    add("\u0162", "T"); // LATIN CAPITAL LETTER T WITH CEDILLA
    add("\u0163", "t"); // LATIN SMALL LETTER T WITH CEDILLA
    add("\u0164", "T"); // LATIN CAPITAL LETTER T WITH CARON
    add("\u0165", "t"); // LATIN SMALL LETTER T WITH CARON
    add("\u0166", "T"); // LATIN CAPITAL LETTER T WITH STROKE
    add("\u0167", "t"); // LATIN SMALL LETTER T WITH STROKE
    add("\u0168", "U"); // LATIN CAPITAL LETTER U WITH TILDE
    add("\u0169", "u"); // LATIN SMALL LETTER U WITH TILDE
    add("\u016A", "U"); // LATIN CAPITAL LETTER U WITH MACRON
    add("\u016B", "u"); // LATIN SMALL LETTER U WITH MACRON
    add("\u016C", "U"); // LATIN CAPITAL LETTER U WITH BREVE
    add("\u016D", "u"); // LATIN SMALL LETTER U WITH BREVE
    add("\u016E", "U"); // LATIN CAPITAL LETTER U WITH RING ABOVE
    add("\u016F", "u"); // LATIN SMALL LETTER U WITH RING ABOVE
    add("\u0170", "U"); // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
    add("\u0171", "u"); // LATIN SMALL LETTER U WITH DOUBLE ACUTE
    add("\u0172", "U"); // LATIN CAPITAL LETTER U WITH OGONEK
    add("\u0173", "u"); // LATIN SMALL LETTER U WITH OGONEK
    add("\u0174", "W"); // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
    add("\u0175", "w"); // LATIN SMALL LETTER W WITH CIRCUMFLEX
    add("\u0176", "Y"); // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
    add("\u0177", "y"); // LATIN SMALL LETTER Y WITH CIRCUMFLEX
    add("\u0178", "Y"); // LATIN CAPITAL LETTER Y WITH DIAERESIS
    add("\u0179", "Z"); // LATIN CAPITAL LETTER Z WITH ACUTE
    add("\u017A", "z"); // LATIN SMALL LETTER Z WITH ACUTE
    add("\u017B", "Z"); // LATIN CAPITAL LETTER Z WITH DOT ABOVE
    add("\u017C", "z"); // LATIN SMALL LETTER Z WITH DOT ABOVE
    add("\u017D", "Z"); // LATIN CAPITAL LETTER Z WITH CARON
    add("\u017E", "z"); // LATIN SMALL LETTER Z WITH CARON
    add("\u017F", "s"); // LATIN SMALL LETTER LONG S
    add("\u0180", "b"); // LATIN SMALL LETTER B WITH STROKE
    add("\u0181", "B"); // LATIN CAPITAL LETTER B WITH HOOK
    add("\u0182", "B"); // LATIN CAPITAL LETTER B WITH TOPBAR
    add("\u0183", "b"); // LATIN SMALL LETTER B WITH TOPBAR
    //add("\u0184", "");  // LATIN CAPITAL LETTER TONE SIX
    //add("\u0185", "");  // LATIN SMALL LETTER TONE SIX
    //add("\u0186", "");  // LATIN CAPITAL LETTER OPEN O
    add("\u0187", "C"); // LATIN CAPITAL LETTER C WITH HOOK
    add("\u0188", "c"); // LATIN SMALL LETTER C WITH HOOK
    add("\u0189", "D"); // LATIN CAPITAL LETTER AFRICAN D
    add("\u018A", "D"); // LATIN CAPITAL LETTER D WITH HOOK
    add("\u018B", "D"); // LATIN CAPITAL LETTER D WITH TOPBAR
    add("\u018C", "d"); // LATIN SMALL LETTER D WITH TOPBAR
    //add("\u018D", "");  // LATIN SMALL LETTER TURNED DELTA
    //add("\u018E", "");  // LATIN CAPITAL LETTER REVERSED E
    //add("\u018F", "");  // LATIN CAPITAL LETTER SCHWA
    //add("\u0190", "");  // LATIN CAPITAL LETTER OPEN E
    add("\u0191", "F"); // LATIN CAPITAL LETTER F WITH HOOK
    add("\u0192", "f"); // LATIN SMALL LETTER F WITH HOOK
    add("\u0193", "G"); // LATIN CAPITAL LETTER G WITH HOOK
    //add("\u0194", "");  // LATIN CAPITAL LETTER GAMMA
    //add("\u0195", "");  // LATIN SMALL LETTER HV
    //add("\u0196", "");  // LATIN CAPITAL LETTER IOTA
    //add("\u0197", "");  // LATIN CAPITAL LETTER I WITH STROKE
    add("\u0198", "K"); // LATIN CAPITAL LETTER K WITH HOOK
    add("\u0199", "k"); // LATIN SMALL LETTER K WITH HOOK
    add("\u019A", "l"); // LATIN SMALL LETTER L WITH BAR
    //add("\u019B", "");  // LATIN SMALL LETTER LAMBDA WITH STROKE
    //add("\u019C", "");  // LATIN CAPITAL LETTER TURNED M
    add("\u019D", "N"); // LATIN CAPITAL LETTER N WITH LEFT HOOK
    add("\u019E", "n"); // LATIN SMALL LETTER N WITH LONG RIGHT LEG
    add("\u019F", "O"); // LATIN CAPITAL LETTER O WITH MIDDLE TILDE
    add("\u01A0", "O"); // LATIN CAPITAL LETTER O WITH HORN
    add("\u01A1", "o"); // LATIN SMALL LETTER O WITH HORN
    //add("\u01A2", "");  // LATIN CAPITAL LETTER OI
    //add("\u01A3", "");  // LATIN SMALL LETTER OI
    add("\u01A4", "P"); // LATIN CAPITAL LETTER P WITH HOOK
    add("\u01A5", "p"); // LATIN SMALL LETTER P WITH HOOK
    //add("\u01A6", "");  // LATIN LETTER YR
    //add("\u01A7", "");  // LATIN CAPITAL LETTER TONE TWO
    //add("\u01A8", "");  // LATIN SMALL LETTER TONE TWO
    //add("\u01A9", "");  // LATIN CAPITAL LETTER ESH
    //add("\u01AA", "");  // LATIN LETTER REVERSED ESH LOOP
    add("\u01AB", "t"); // LATIN SMALL LETTER T WITH PALATAL HOOK
    add("\u01AC", "T"); // LATIN CAPITAL LETTER T WITH HOOK
    add("\u01AD", "t"); // LATIN SMALL LETTER T WITH HOOK
    add("\u01AE", "T"); // LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
    add("\u01AF", "U"); // LATIN CAPITAL LETTER U WITH HORN
    add("\u01B0", "u"); // LATIN SMALL LETTER U WITH HORN
    add("\u01B2", "V"); // LATIN CAPITAL LETTER V WITH HOOK
    add("\u01B3", "Y"); // LATIN CAPITAL LETTER Y WITH HOOK
    add("\u01B4", "y"); // LATIN SMALL LETTER Y WITH HOOK
    add("\u01B5", "Z"); // LATIN CAPITAL LETTER Z WITH STROKE
    add("\u01B6", "z"); // LATIN SMALL LETTER Z WITH STROKE
    //add("\u01B7", "");  // LATIN CAPITAL LETTER EZH
    //add("\u01B8", "");  // LATIN CAPITAL LETTER EZH REVERSED
    //add("\u01B9", "");  // LATIN SMALL LETTER EZH REVERSED
    //add("\u01BA", "");  // LATIN SMALL LETTER EZH WITH TAIL
    //add("\u01BB", "");  // LATIN LETTER TWO WITH STROKE
    //add("\u01BC", "");  // LATIN CAPITAL LETTER TONE FIVE
    //add("\u01BD", "");  // LATIN SMALL LETTER TONE FIVE
    //add("\u01BE", "");  // LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
    //add("\u01BF", "");  // LATIN LETTER WYNN
    //add("\u01C0", "");  // LATIN LETTER DENTAL CLICK
    //add("\u01C1", "");  // LATIN LETTER LATERAL CLICK
    //add("\u01C2", "");  // LATIN LETTER ALVEOLAR CLICK
    //add("\u01C3", "");  // LATIN LETTER RETROFLEX CLICK
    //add("\u01C4", "");  // LATIN CAPITAL LETTER DZ WITH CARON
    //add("\u01C5", "");  // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
    //add("\u01C6", "");  // LATIN SMALL LETTER DZ WITH CARON
    //add("\u01C7", "");  // LATIN CAPITAL LETTER LJ
    //add("\u01C8", "");  // LATIN CAPITAL LETTER L WITH SMALL LETTER J
    //add("\u01C9", "");  // LATIN SMALL LETTER LJ
    //add("\u01CA", "");  // LATIN CAPITAL LETTER NJ
    //add("\u01CB", "");  // LATIN CAPITAL LETTER N WITH SMALL LETTER J
    //add("\u01CC", "");  // LATIN SMALL LETTER NJ
    add("\u01CD", "A"); // LATIN CAPITAL LETTER A WITH CARON
    add("\u01CE", "a"); // LATIN SMALL LETTER A WITH CARON
    add("\u01CF", "I"); // LATIN CAPITAL LETTER I WITH CARON
    add("\u01D0", "i"); // LATIN SMALL LETTER I WITH CARON
    add("\u01D1", "O"); // LATIN CAPITAL LETTER O WITH CARON
    add("\u01D2", "o"); // LATIN SMALL LETTER O WITH CARON
    add("\u01D3", "U"); // LATIN CAPITAL LETTER U WITH CARON
    add("\u01D4", "u"); // LATIN SMALL LETTER U WITH CARON
    add("\u01D5", "U"); // LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
    add("\u01D6", "u"); // LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
    add("\u01D7", "U"); // LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
    add("\u01D8", "u"); // LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
    add("\u01D9", "U"); // LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
    add("\u01DA", "u"); // LATIN SMALL LETTER U WITH DIAERESIS AND CARON
    add("\u01DB", "U"); // LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
    add("\u01DC", "u"); // LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
    add("\u01DD", "e"); // LATIN SMALL LETTER TURNED E
    add("\u01DE", "A"); // LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
    add("\u01DF", "a"); // LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
    add("\u01E0", "A"); // LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
    add("\u01E1", "a"); // LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
    add("\u01E2", "Ä"); // LATIN CAPITAL LETTER AE WITH MACRON
    add("\u01E3", "ä"); // LATIN SMALL LETTER AE WITH MACRON
    add("\u01E4", "G"); // LATIN CAPITAL LETTER G WITH STROKE
    add("\u01E5", "g"); // LATIN SMALL LETTER G WITH STROKE
    add("\u01E6", "G"); // LATIN CAPITAL LETTER G WITH CARON
    add("\u01E7", "g"); // LATIN SMALL LETTER G WITH CARON
    add("\u01E8", "K"); // LATIN CAPITAL LETTER K WITH CARON
    add("\u01E9", "k"); // LATIN SMALL LETTER K WITH CARON
    add("\u01EA", "O"); // LATIN CAPITAL LETTER O WITH OGONEK
    add("\u01EB", "o"); // LATIN SMALL LETTER O WITH OGONEK
    add("\u01EC", "O"); // LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
    add("\u01ED", "o"); // LATIN SMALL LETTER O WITH OGONEK AND MACRON
    //add("\u01EE", "");  // LATIN CAPITAL LETTER EZH WITH CARON
    //add("\u01EF", "");  // LATIN SMALL LETTER EZH WITH CARON
    add("\u01F0", "j"); // LATIN SMALL LETTER J WITH CARON
    //add("\u01F1", "");  // LATIN CAPITAL LETTER DZ
    //add("\u01F2", "");  // LATIN CAPITAL LETTER D WITH SMALL LETTER Z
    //add("\u01F3", "");  // LATIN SMALL LETTER DZ
    add("\u01F4", "G"); // LATIN CAPITAL LETTER G WITH ACUTE
    add("\u01F5", "g"); // LATIN SMALL LETTER G WITH ACUTE
    //add("\u01F6", "");  // LATIN CAPITAL LETTER HWAIR
    //add("\u01F7", "");  // LATIN CAPITAL LETTER WYNN
    add("\u01F8", "N"); // LATIN CAPITAL LETTER N WITH GRAVE
    add("\u01F9", "n"); // LATIN SMALL LETTER N WITH GRAVE
    add("\u01FA", "A"); // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
    add("\u01FB", "a"); // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
    add("\u01FC", "Ä"); // LATIN CAPITAL LETTER AE WITH ACUTE
    add("\u01FD", "ä"); // LATIN SMALL LETTER AE WITH ACUTE
    add("\u01FE", "O"); // LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
    add("\u01FF", "o"); // LATIN SMALL LETTER O WITH STROKE AND ACUTE
    add("\u0200", "A");  // LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
    add("\u0201", "a");  // LATIN SMALL LETTER A WITH DOUBLE GRAVE
    add("\u0202", "A");  // LATIN CAPITAL LETTER A WITH INVERTED BREVE
    add("\u0203", "A");  // LATIN SMALL LETTER A WITH INVERTED BREVE
    add("\u0204", "E");  // LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
    add("\u0205", "e");  // LATIN SMALL LETTER E WITH DOUBLE GRAVE
    add("\u0206", "E");  // LATIN CAPITAL LETTER E WITH INVERTED BREVE
    add("\u0207", "e");  // LATIN SMALL LETTER E WITH INVERTED BREVE
    add("\u0208", "I");  // LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
    add("\u0209", "i");  // LATIN SMALL LETTER I WITH DOUBLE GRAVE
    add("\u020A", "I");  // LATIN CAPITAL LETTER I WITH INVERTED BREVE
    add("\u020B", "i");  // LATIN SMALL LETTER I WITH INVERTED BREVE
    add("\u020C", "O");  // LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
    add("\u020D", "o");  // LATIN SMALL LETTER O WITH DOUBLE GRAVE
    add("\u020E", "O");  // LATIN CAPITAL LETTER O WITH INVERTED BREVE
    add("\u020F", "o");  // LATIN SMALL LETTER O WITH INVERTED BREVE
    add("\u0210", "R");  // LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
    add("\u0211", "R");  // LATIN SMALL LETTER R WITH DOUBLE GRAVE
    add("\u0212", "R");  // LATIN CAPITAL LETTER R WITH INVERTED BREVE
    add("\u0213", "r");  // LATIN SMALL LETTER R WITH INVERTED BREVE
    add("\u0214", "U");  // LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
    add("\u0215", "u");  // LATIN SMALL LETTER U WITH DOUBLE GRAVE
    add("\u0216", "U");  // LATIN CAPITAL LETTER U WITH INVERTED BREVE
    add("\u0217", "u");  // LATIN SMALL LETTER U WITH INVERTED BREVE
  }

  public static String normalizeUTF8(String string)
  {
    return tr(string);
  }

  private static void add(String from, String to)
  {
    fromarray.add(from);
    toarray.add(to);
  }

  private static String tr(String string)
  {
    if (string == null)
    {
      throw new NullPointerException();
    }
    for (int i = 0; i < fromarray.size(); i++)
    {
      string = string.replace(fromarray.get(i), toarray.get(i));
    }
    return string;
  }
}
/*
 * $Log: Tr.java,v $
 * Revision 1.3 2013/01/29 23:55:00 Carsten Mennenöh
 * Sonderzeichen erweitert.
 * Revision 1.2  2009/06/04 08:36:13  jost
 * Bugfix
 * Revision 1.1 2009/06/04 08:30:40 jost Umsetzung
 * Sonderzeichen erweitert.
 * 
 */
Bei den SEPA-Dateiformaten gibt es übrigens dieselbe Problematik: Die erlaubten Zeichen sind nahezu dieselben wie bei DTAUS
Siehe http://www.sparkasse.de/_download_galle ... format.pdf, S. 23f

Viele Grüße,
Carsten

Re: Keine Erstellung DTAUS-Datei bei Sonderbuchstaben im Nam

Verfasst: Dienstag 29. Januar 2013, 21:34
von heiner
Hallo,

ich werde in DTAUS keine Minute mehr investieren. Es wird auch keine JVerein-Version mit DTAUS-Unterstützung geben. Daher werde ich auch keine Workarounds für DTAUS bauen.

Heiner