CMS - Der Dirigent » Support » Anwenderforum
Neue Umfrage | neues Thema | Antworten
Seiten: (2) [1] 2 ( Zum ersten neuen Beitrag )
Sonderzeichen und mod_rewrite, Titel für die Navigation
« Älteres Thema | Neueres Thema » Thema abonnieren | Thema versenden | Thema drucken
mike | Geschrieben am: 12. May 2005 - 19:48 |
Who is XIII? Gruppe: Tester Beiträge: 319 Mitgliedsnummer: 654 Mitglied seit: 09. Jul 2004 |
Wie kann ich Sonderzeichen in Navigationsname anzeigen ohne dass dafür die URL des mod_rewrite nicht geht. Im Klartext anhand eines Beispieles: In der Navigation steht: Demonstración en vivo mod_rewrite 2 setzt es wir folgt um: .../demonstración_en_vivo/index.html FF kommt damit klar - IE aber nicht. Wie kann ich es ändern damit es in der Navigation weiterhin so steht aber die URL ../demonstracion_en_vivo/index.html ohne Sonderzeichen sich aufbaut? Danke |
Olaf | Geschrieben am: 12. May 2005 - 20:12 |
offline Gruppe: Members Beiträge: 3689 Mitgliedsnummer: 120 Mitglied seit: 01. May 2003 |
Oh, oh, und Eppi nicht da..... Guck dir mal die Dateien aus der Erweiterung an, da muss ja irgendwo angegeben sein, dass aus ö->oe wird, da musst du dir halt noch die gebrauchten Zeichen mit einbauen, denk ich mal -------------------- Gruß, Olaf
|
Renard | Geschrieben am: 12. May 2005 - 20:40 |
Unregistered |
Unter /projekt01/cms/inc gibt's die Datei mod_rewrite.php. Wenn du dort in Zeile 5 und 6 die Arrays entsprechend anpasst, sollte es funktionieren - genauer gesagt: hat es bei mir funktioniert. Hasta luego Renard |
roberto | Geschrieben am: 12. May 2005 - 21:04 |
Unicoder Gruppe: Tester Beiträge: 1853 Mitgliedsnummer: 343 Mitglied seit: 16. Oct 2003 |
In etwa so? mehr CODE $in = array("![ÄÆäæ]!", "![ÀÁÂÃÅàáâãå]!", "![ÖöØø]!", "![ÒÓÔÕòóôõ]!", "![Üü]!", "![ÙÚÛùúû]!", "![ÈÉÊËèéêë]!", "![ÌÍÎÏ]!", "![Ýý]!", "![Çç]!", "![ÐðþÞ]!", "![Ññ]!", "![Šš]!", "![Žž]!", "!ß!", "!&!", "!¡!", "!§!", "!€!", "!¥!", "!£!", "![\"\'\?\s]!", "![:<>@\[\]\{-\`ƒ-‰‹‘-•˜›¡¤¦¨-¿]!"); $out = array('ae', 'a', 'oe', 'o', 'ue', 'u', 'e', 'i', 'y', 'c', 'th', 'n', 's', 'z', 'ss', 'und', '!', 'paragraph', 'euro', 'yen', 'pound', '_', ''); -------------------- Lokal: DeDi 1.01; SuSE 8.1 | Apache/1.3.26 & PHP 4.3.10 | MYSQL 3.23.52
|
Renard | Geschrieben am: 12. May 2005 - 21:36 |
Unregistered |
Das sollte für den Anfang wohl genügen. Gruß Renard |
mike | Geschrieben am: 12. May 2005 - 21:38 |
Who is XIII? Gruppe: Tester Beiträge: 319 Mitgliedsnummer: 654 Mitglied seit: 09. Jul 2004 |
Super ich hatte zwar selber angefangen zu schreiben! Aber da ist roberto einfach gigantisch! So viele sonderzeichen in kürzeste Zeit ist doch genial Thx |
Burgi1986 | Geschrieben am: 21. Aug 2005 - 12:07 |
Member Gruppe: Members Beiträge: 27 Mitgliedsnummer: 1119 Mitglied seit: 05. Mar 2005 |
Hi leute, Ich verwende in meinem Projekt mod_rewrite2. Das Problem bei Links mit Sonderzeichen ist, dass diese oft durch "falsche" Zeichen ersetzt werden. Ein ü wird durch ein a ersetzt anstatt durch ein u. Ein é wird durch ein a ersetzt anstatt durch ein e. Das & wird hingegen korrekt durch und ersetzt. Also manche Zeichen sind richtig andere falsch. Woran kann das liegen? Installiert ist dedi bei mir mit der erweiterung und meine beiden Projektsprachen sind auf utf8 eingestellt. MfG Burgi |
roberto | Geschrieben am: 22. Aug 2005 - 10:34 |
Unicoder Gruppe: Tester Beiträge: 1853 Mitgliedsnummer: 343 Mitglied seit: 16. Oct 2003 |
Falls Du als Zeichensatz utf-8 verwendest, hätte ich eine Idee. Anderenfalls: Keine Ahnung. Am besten, Du postest statt dem Schicksal einzelner Zeichen mal eine Zeichenkette (komplettes Wort) und sagst, was daraus wird (in etwa so: Rügen => Ragen). Da wird man schon eher draus schlau. -------------------- Lokal: DeDi 1.01; SuSE 8.1 | Apache/1.3.26 & PHP 4.3.10 | MYSQL 3.23.52
|
Burgi1986 | Geschrieben am: 23. Aug 2005 - 20:18 |
Member Gruppe: Members Beiträge: 27 Mitgliedsnummer: 1119 Mitglied seit: 05. Mar 2005 |
Sorry für die späte antwort, aber ich habe mein problem mittlerweile selbst lösen können. Meine Sprachen sind UTF-8. Die Umlaute wurden im Quelltext als z.B "A1/4" (oder ähnlich) dargestellt, weshalb die Sonderzeichen von mod_rewrite nicht ausgewechselt wurden, da mod_rewrite bei $in nach ä ö und ü sucht. Solche zeichen waren aber nirgends vorhanden. Ich hab mir nun abhilfe geschafft, in dem ich im Backend die Umlaute in Seitennamen im Format 252 ; eingebe. Sieht im Backend halt nicht schön aus, dafür erkennt meine umgeschriebene mod_rewrite die Sonderzeichen. mehr CODE $in = array ( '@&(agrave|#224);@i', '@&(aacute|#225);@i', '@&(acirc|#226);@i', '@&(auml|#228);@e', '@&(ccedil|#231);@i', '@&(egrave|#232);@i', '@&(eacute|#233);@e', '@&(ecirc|#234);@e', '@&(ouml|#246);@e', '@&(uuml|#252);@e', "![\s]!"); $out = array ( 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'oe', 'ue', '_'); $output = preg_replace($in, $out, $output); @Robert: Falls du weisst, was ich tun kann, damit ich bei den Ordner und Seitennamen im Backend auch wieder normal Sonderzeichen verwenden kann, wäre ich natürlich sehr dankbar. Denn schön sieht es im Backend echt nicht aus, wenn anstatt einem ü, 252 ; im Seitentitel steht! |
hk-cons | Geschrieben am: 23. Aug 2005 - 21:02 |
Dauertester Gruppe: Tester Beiträge: 5444 Mitgliedsnummer: 71 Mitglied seit: 31. Mar 2003 |
hmmm burgi .. war das nur in einem browser? auf einem pc ? oder konntest du das woanders auch beobachten? -------------------- spart sich sprüche und wird humorlos
|
roberto | Geschrieben am: 23. Aug 2005 - 22:35 |
Unicoder Gruppe: Tester Beiträge: 1853 Mitgliedsnummer: 343 Mitglied seit: 16. Oct 2003 |
Dachte ich mir doch. utf-8 und mod_rewrite ist leider nicht so trivial. Die Ersetzungsregeln sind dafür zu dumm, weil sie byteweise vorgehen... Aus dem ü wurde deswegen ein a, weil der Input ü (2 Byte für ü) ist. Die Ersetzungsregeln machen à zu a und ¼ fällt unter den Tisch. Edit: Meiner Meinung nach macht es nicht wirklich Sinn, dafür eine generelle Lösung zu erfinden, weil das gemessen an den tatsächlich zu ersetzenden Zeichen der Overkill wäre und sich auch nur ein kleiner Ausschnitt der in utf-8 möglichen Zeichen automatisch in ASCII darstellen lassen. Praktikabel ist dagegen eine Lösung konkret für die Sprachen/Zeichen, die verwendet werden. Soweit ich aus Deinen Ersetzungsregeln sehen kann, sind das bei Dir ja nur Zeichen, die sich auch in iso-8859-1 abbilden lassen. Dann hieße für Dich die Lösung, in der Datei mod_rewrite.php mit der Funktion modrewrite_changecase zuerst den utf-8 codierten String ($output) nach iso-8859-1 zu konvertieren. mehr CODE function modrewrite_changecase($output) { $output = utf8_decode($output); $output = strtolower(trim($output)); // usw. usf. } Probiere das mal. -------------------- Lokal: DeDi 1.01; SuSE 8.1 | Apache/1.3.26 & PHP 4.3.10 | MYSQL 3.23.52
|
Burgi1986 | Geschrieben am: 24. Aug 2005 - 17:47 |
Member Gruppe: Members Beiträge: 27 Mitgliedsnummer: 1119 Mitglied seit: 05. Mar 2005 |
Hey roberto, das klappt!! Bist super klasse! Ne andere kleine Frage: Verstehen alle Browser Umlaute wie ü welche aber mit A1/4 im Quelltext stehen, genau gleich wie wenn diese als ü dort stehen, oder könnte es da Probleme mit einigen Browsern geben? @hk-cons: Selbstverständlich hat das Problem nicht nur auf meinem Rechner und einem Browser bestanden. Ich habs bei mir mit Opera und dann auch noch mit IE festgestellt. Ein Freund von mir hatte auf seinem Rechner mit Firefox dasselbe Problem wie ich, wenn er meine Seite abgerufen hat. |
roberto | Geschrieben am: 24. Aug 2005 - 20:33 |
Unicoder Gruppe: Tester Beiträge: 1853 Mitgliedsnummer: 343 Mitglied seit: 16. Oct 2003 |
QUOTE (Burgi1986 @ 24. Aug 2005 - 18:47) Verstehen alle Browser Umlaute wie ü welche aber mit A1/4 im Quelltext stehen, genau gleich wie wenn diese als ü dort stehen, oder könnte es da Probleme mit einigen Browsern geben? Weder IE noch Mozilla oder Firefox stellen ein utf-8-kodiertes ü als ü im Quelltext dar. Jedenfalls bei mir unter Windows 2000 nicht. Bei welchem Browser / welchem Betriebssystem passiert denn sowas? Was benutzt Du denn - Win95 vielleicht? Mir ist bisher noch kein Browser untergekommen, der utf-8 nicht korrekt darstellt. -------------------- Lokal: DeDi 1.01; SuSE 8.1 | Apache/1.3.26 & PHP 4.3.10 | MYSQL 3.23.52
|
Burgi1986 | Geschrieben am: 25. Aug 2005 - 05:12 |
Member Gruppe: Members Beiträge: 27 Mitgliedsnummer: 1119 Mitglied seit: 05. Mar 2005 |
Es liegt ja nicht daran, dass mein system es falsch kodiert, sondern wahrscheinlich an dedi selber. Ich benutze win XP Pro und Opera als Browser. Nebenbei hab ich es auch mit dem IE getestet und da trat derselbe fehler auf. Die Sonderzeichen welche über den WYSIWYG-Editor eingegeben wurden und irgendwo im Text stehen, werden im Quelltext normal nach & #xxx; umgewandelt. Bloss die Sonderzeichen von Seiten- und Ordnertiteln welche ich im Backend eingebe, stehen als ü usw. im Quelltext. Also meiner Meinung nach ein Fehler von DeDi, dass die Sonderzeichen im Titel nicht nach & #xxx; umgewandelt werden. Ich frage mich nun ob gewisse Browser Probleme haben und dieses ü welches DeDi in den Seitentiteln ausspuckt nicht verstehen könnten? |
luxli | Geschrieben am: 25. Aug 2005 - 08:27 |
Member Gruppe: Members Beiträge: 276 Mitgliedsnummer: 1327 Mitglied seit: 26. Jun 2005 |
QUOTE Bloss die Sonderzeichen von Seiten- und Ordnertiteln welche ich im Backend eingebe, stehen als ü usw. im Quelltext. In der Seitenansicht geschah dies bei mir auch in der Navigation bei Verwendung der Module Navigation 1.1.1, Listen-Navigation 0.0.2 und URHere 1.1. Da es bei mir nur das Wort "Übersicht" betraf habe ich es umbenannt in "Uebersicht". |
Thema wird von 0 Benutzer gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:
26 Antworten seit 12. May 2005 - 19:48
Thema abonnieren | Thema versenden | Thema drucken
Seiten: (2) [1] 2