Flashhilfe.de - Flash Community

Umlaute innerhalb Flash bei Ausgabe umwandeln [Flash 9]

 


AntwortenRegistrieren Seite1  

skyuser#1
Benutzerbild von skyuser
Beiträge: 12
Wohnort: Graz
Registriert: Dec 2006

27.03.2013, 13:34

Hallo

ich bin ja Werbemittelerzeuger im Bereich Flash für viele Portale

Jetzt hat sich ein Problem aufgetan, wo ich nicht weiterkomme und euch um Hilfe bitte!

Ich habe ein swf-file mit einer Sucheingabe und einem Sendebutton.

Sobald man einen Suchbegriff eingibt, sucht er das richtige ;))

leider ist es jetzt so, wenn ich ein Sonderzeichen wie zB: ö ü ä eingebe, such er im Webbrowser nicht danach, sondern gibt es so wieder: %F6hler statt öhler

Ich weiss von den Websitebetreibern, das UTF-8 eingestellt ist.

Nun meine Frage:
Wie kann ich innerhalb dieses Flash die umlaute für die Ausgabe so einstellen, das zB. ein "ä" bei der Ausgabe zu einem "ae" wird
ü = ue
ö = oe
??

Bitte um kurze Hilfe

danke
Werbung
Beiträge: 0
Registriert: Feb 2016


derFloh#2
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

27.03.2013, 15:45

hey,
split und join wird dir da helfen.

kleines beispiel:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var t : String = "Ein ö, ein ä und ein ü";


function replace( s : String ) : String
{
     s = s.split( "ö" ).join( "oe" );
     s = s.split( "ä" ).join( "ae" );
     s = s.split( "ü" ).join( "ue" );
     
     return s;
}


deinTextfeld.text = replace( t );


gruß
 flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
skyuser#3
Benutzerbild von skyuser
Beiträge: 12
Wohnort: Graz
Registriert: Dec 2006

Themenautor/in

27.03.2013, 16:27

hm ... danke dir .... aber er wirft mir immer noch ein "%F6" für ein "ö" aus

Das script gehört ja ins root oder?

Das habe ich auf den Button gelegt
ActionScript:
1
2
3
4
5
6
7
8
9
10
on (keyPress "<Enter>")
{
      if (searchtext.text != "" && searchtext.text != undefined)
      {
        getURL("http://###k="+searchtext.text+"", "GET");
     } // end if
}
on (release) {
        getURL("http://###k="+searchtext.text+"", "GET");
}

Einmal für den Klick auf den Button, und einmal, wenn man enter drückt

Wo gehört nun das für die Umlaute hin? :/

Ich suche zB "öäü"
Wenn ich auf suchen klicke sieht die Sache so aus momentan:
"http://###k=%F6%FC%E4"

Es sollte aber "http://###k=oeaeue" da stehen :/
Geändert von skyuser am 27.03.13 um 17:14 Uhr
skyuser#4
Benutzerbild von skyuser
Beiträge: 12
Wohnort: Graz
Registriert: Dec 2006

Themenautor/in

28.03.2013, 08:31

Das habe ich gefunden, was ich nicht ganz so wollte, aber funktioniert ja mal ganz gut .....

ActionScript:
1
2
3
4
5
6
7
8
9
10
    searchtext.onChanged=function(){
  searchtext.text=searchtext.text.split("ä").join("ae");
  searchtext.text=searchtext.text.split("ü").join("ue");
  searchtext.text=searchtext.text.split("ö").join("oe");
  searchtext.text=searchtext.text.split("Ä").join("Ae");
  searchtext.text=searchtext.text.split("Ü").join("Ue");
  searchtext.text=searchtext.text.split("Ö").join("Oe");
  searchtext.text=searchtext.text.split("ß").join("ss");
  selection.setSelection(searchtext.text.length,searchtext.text.length);
}


...nur das der Cursor zwischen a und e stehen bleibt.

Sprich: ich gebe ä ein, wandelt es sofort in ae um und der curor bleibt zwischen a und e stehen.

Etwas blöd, wenn man büro durchschreibt und das buroe rauskommt :=)

Wie kann ich also den Cursor nach rechts stellen ... ?

Weiss hier wirklich niemand was?
Geändert von skyuser am 28.03.13 um 09:20 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


vindel#5
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

28.03.2013, 10:47

Ich versteh' dein Problem nicht - Flash wandelt doch die Umlaute in eine vollkommen richtige URL-Escape Sequenz um, die jede Programmiersprache versteh (In Flash "unescape()" und in php "urldecode"). Anders verfälscht du ja immer den Suchbegriff.
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
skyuser#6
Benutzerbild von skyuser
Beiträge: 12
Wohnort: Graz
Registriert: Dec 2006

Themenautor/in

28.03.2013, 10:58

es funktioniert auch überall ... in jedem Browser, außer "Safari" ... und auch der sollte funktionieren, deshalb suche ich jetzt sowas :/

Wenn ich nichts mache, wandelt jeder Browser mein "Büro" so um "b%25C3%25BCro"

Gibs eine einfache lösung innerhalb von Flash die umlaute "ä ü ö" so auszugeben "ae ue oe"?

Anbei auch mein fla file :

Angehängte Dateien:
Adobe Flash Quelldatei jobsearch.fla285.91 KB
Geändert von skyuser am 28.03.13 um 12:51 Uhr
vindel#7
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

28.03.2013, 14:17

Haste das mal ausprobiert:
ActionScript:
1getURL("http://###k="+urlencode(searchtext.text)+"", "GET");

Für dein Vorhaben gibt es nur elegantere Methoden, die aber genau das gleiche machen was du oben geschrieben hast..
Wo soll denn das ganze dann hin gehen? Bzw wer bekommt die Suchanfrage?
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
skyuser#8
Benutzerbild von skyuser
Beiträge: 12
Wohnort: Graz
Registriert: Dec 2006

Themenautor/in

28.03.2013, 14:44

Die Suchanfrage bekommt eine Jobseite!

Nur ich muss zugeben, ein anderes Forum war schneller bei der Hilfe ;)

Dennoch, hier die Lösung, die ich gesucht habe und brauche!

Danke dennoch für deine Hilfe!

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
searchtext.text = "Beruf...";
searchtext.onSetFocus = function( focus:Object ):Void {
      this.text = "";
}

String.prototype.replace = function( searchStr:String, replaceStr:String ):String
      return this.split( searchStr ).join( replaceStr );
};

function checkAndReplace( input:String, searchStrings:Array ):String {
      for ( var str:String in searchStrings ) {   
          var obj:Object = searchStrings[ str ];
          while ( input.indexOf( obj.s ) > -1 )
              input = input.replace( obj.s, obj.r );
      }
      return input;
}

function goto():Void {
      if ( searchtext.text.length > 0 ) {
          var searchtextMod:String = checkAndReplace( searchtext.text, [ { s:"ü", r:"ue" }, { s:"ä", r:"ae" }, { s:"ö", r:"oe" } ] );
          getURL( "http://www.###.at/Search=" + searchtextMod, "GET" );
      }
}

searchButton.onRelease = function():Void {
      goto();
}

var keyListener:Object = {};
    keyListener.onKeyDown = function():Void {
          if ( Key.getCode() == Key.ENTER )
              goto();
      };
   
Key.addListener( keyListener ); 
Geändert von skyuser am 28.03.13 um 14:44 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de