Flashhilfe.de - Flash Community

Keine Sonderzeichen in Gästebuch Teil 2

 


AntwortenRegistrieren Seite1  

DaFuNsEl#1
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

28.02.2010, 17:37

Hallo. Ich hatte vor kurzem noch das alte Thema am laufen, leider wurde meine Frage als beantwortet markiert, jedoch steht sie noch offen. !HIER!

Ich komme leider nicht weiter, habe mit dem Script gearbeitet:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
$gname     
$_POST["name"];
$gmail      $_POST["mail"];
$gcomment   $_POST["comment"];
[
farbe=rot]$gcomment      stripslashes($gcomment);
$gcomment      htmlentities($gcomment);[/farbe]
$gwebsite    $_POST["website"];
$datestamp   date("d.m.Y - H:i");
$dateiname    "gaestebuch.txt";
?>

Nur wenn ich das, was rot markiert ist, hinzufüge, speichert er mir die Einträge nicht, bekomme sie dann nicht angezeigt. Wenn ich es weg lasse, ist alles ok, außer das ich die Sonderzeichen nicht angezeigt bekomme. Einige in anderen Zeichen, manche gar nicht. Ich habe das hier als Test, ich schreibe das ins GB und gucke dann was er davon übernimmt: ÜüÖöÄäß^°!"§$%&/()=?´´``²³{[]}\~+#*'/-+.,;:-<>@€µ|
Wenn ich das Eintrage, kann ich noch nicht einmal mehr die Nachrichten hoch bzw. runter scrollen, der Slider von der Scrollbar ist dann eifnach weg ?!?!?!
Ich finde leider keine Lösung. Hat villeicht jemand einen Vorschlag?
Würde mich sehr freuen.

-->LG<--
Geändert von DaFuNsEl am 28.02.10 um 17:54 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


Enigma_X#2
Benutzerbild von Enigma_X
Beiträge: 335
Wohnort: niemandsland
Registriert: Apr 2004

05.03.2010, 19:25

hau das noch zwischen

PHP:
1
2
3
4
<?php
header
("Content-Type: text/html; charset=utf-8");
?>
mhm in entwiklung
Enigma_X#3
Benutzerbild von Enigma_X
Beiträge: 335
Wohnort: niemandsland
Registriert: Apr 2004

05.03.2010, 19:30

oder warte ma, also was genau hast du vor ? du willst den content in eine container datei und nicht via mysql speichern.
Soweit alles klar... Ich habe das auch mal gemacht, und das problem ist nun das du keine farbigsche schrift speichern kannst ?
mhm in entwiklung
DaFuNsEl#4
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

Themenautor/in

05.03.2010, 20:30

Hi.
Danke für die Antwort.
Nein, ich möchte nichts farbig speichern. Ich habe es in dem Scipt nur farbig markiert, weil das der Teil ist, mit dem ich versucht habe das Problem zu lösen, dass die Sonderzeichen endlich ohne Probleme angezeigt werden.
Aber ich sehe gerade, dass es gar nicht rot angezeigt wird. OHA. Mein Fehler. Das war der Teil hier:
ActionScript:
1
2
$gcomment      = stripslashes($gcomment);
$gcomment      = htmlentities($gcomment);

-->LG<--
Geändert von DaFuNsEl am 05.03.10 um 20:33 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


Enigma_X#5
Benutzerbild von Enigma_X
Beiträge: 335
Wohnort: niemandsland
Registriert: Apr 2004

06.03.2010, 18:28

hi also, standartmäsig wird mit ASCII gespeichert. Da du aber sonderzeichen hast die es im amerikanischen standart nicht gibt musst du auf jedenfall
das was ich oben geschrieben habe in deinen header schreiben. Dadurch sagst du das deine Gästebuch.txt mit der UTF-8 tabelle arbeiten soll.

das ist sehr wichitg, zusätzlich solltest du falls du nicht mit php die datei erstellst die datei schon als UTF-8 hochladen.

Ich habe wie gesagt keine Probleme damals gehabt mit sonderzeichen, ich poste dir einfach mal meinen php code.

Schau es dir mal an und schau das du mal einige sachen evtl übernimmst.

PHP:
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
37
38
39
40
<?php
$file 
"GB.txt";
$handle fopen ($file'r');
       
$wholetext fread ($handle1000000);
       
fclose ($handle);

print 
"&wholetext=$wholetext&";

$sending $_POST["sending"];
if (
$sending == "Yes") {

$thedate $_POST["thedate"];
$thetxt  $_POST["thetxt"];
$thename $_POST["thename"];
$themail $_POST["themail"];
$thesite $_POST["thesite"];

$thesite     eregi_replace("http://"""$thesite);
$thesite     ereg_replace("[^A-Za-z0-9 \@\.\-\/\'\~\:]"""$thesite);

$file "GB.txt";
       
$handle fopen ($file'r');
       
$oldtext fread ($handle80000);
       
fclose ($handle);
       
       
$endtext "<br><i><font size=\"-2\">$thedate</font></i><br><b>$thename (</b><u><a href=\"mailto:$themail\"><font color=\"#ffcf83\">mail</font></a></u> | <u><a href=\"http://$thesite\" target=\"_blank\"><font color=\"#ffcf83\">website</font></a></u><b>)</b><br><br><font color=\"#ffba4e\">$thetxt</font><br><br>____________________<br>";
       
$thetext "$endtext$oldtext";

       
$handle fopen ($file'w');
       
fwrite ($handle$thetext1000000);
       
fclose ($handle);

       
$handle fopen ($file'r');
       
$wholetext fread ($handle1000000);
       
fclose ($handle);

print 
"&wholetext=$wholetext&";
}
?>


Der sourcecode ist ein bischen älter. Ich habe den header damals nicht benutz. aber diese PHP funktioniert einwandfrei.

du kannst mit file_put_contents und file_get_contents arbeiten und dir viele zeilen damit sparen, ebenso soltest du mit str_replace arbeiten und nicht mit ergi_replace.
mhm in entwiklung
DaFuNsEl#6
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

Themenautor/in

06.03.2010, 18:58

Hi danke für die Antwort.
Ich werde mal die Tage gucken was ich damit mache :-) Ich habe im Moment leider keien zeit. Ich werde mich melden, sobald sich was ergibt. Nochmals vielen Dank.

-->LG<--
DaFuNsEl#7
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

Themenautor/in

10.03.2010, 20:49

So.
Ich habe nun die Zeile mit dem UTF8 in den header eingefügt.
Alles hochgeladen und probiert. Die Datei in der er die einträge speichert und ausliest habe ich auch in UTF-8 hochgeladen. Das Ganze habe ich getestet mit:
ÜüÖöÄäß^°!"§$%&/()=?´´``²³{[]}\~+#*'/-+.,;:-<>@€µ|
von diesen Zeichen übernimmt er nur:
ÜüÖöÄäß^°!"§$/()=?´´``²³{[]}\~ #*'/- .,;:-

Wenn ich das 2mal mache, damit ich scrollen kann, ist mein Scroller auf der rechten Seite weg. Das ist nicht so schlimm, denke nicht das jemand soviele Sonderzeichen verwendet bzw. in dieser Reihenfolge. Das Problem stell ich einfach mal in den Raum.

Nur jetzt habe ich mir die alte Datei mit den gespeicherten einträgen vom Server geladen und als UTF-8 gespeichert. Dann hochgeladen. Nun Zeigt er mir die Einträge ohne Sonderzeichen an, er macht wieder andere Zeichen daraus. Wieso macht er das?
Ohne UTF-8 Konvertierung zeigt er mir alles normal an. MHHHH.

Ich will jetzt nicht sagen das jetzt alles 100%tig läuft, aber ich bekomme die Sonderzeichen nun angezeigt indem ich den Header eingefügt habe und die Datei mit den Einträgen nicht als UTF-8 hochgeladen habe.

-->LG<--
Enigma_X#8
Benutzerbild von Enigma_X
Beiträge: 335
Wohnort: niemandsland
Registriert: Apr 2004

10.03.2010, 23:08

freut mich das ich helfen konnte.

In zukunft wirst du ja sicher alles von anfang an so machen das heißt wir müssen eine lösung für das mommentane projekt finden...

Also die alte Datei die du dir heruntergeladne hast ist eine .ANSI datei gewesen oder ? die hast du dann einfach neu abgespeichert und utf-8 und
jetzt klappen dort GARKEINE Sonderzeichen mehr ?

probiers mal so: erstelle dir eine neue datei in UTF-8 und schreib dort sonderzeichenr ein, natürlich mit deinen variablen so das du sie in flash sehen kannst...

evtl kann ja die kodierungder datei noch in ANSI sein, wenn du ANSI nun mit der UTF-8 tabelle verarbeiten willst klappts es nicht... So mein Gedanke.. probiers mal Aber sicher bin ich mir da jetzt nicht
mhm in entwiklung
DaFuNsEl#9
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

Themenautor/in

10.03.2010, 23:29

Hi,
vielen Dank für die Antwort.
Also ich habe zum testen gleich eine leere .txt auf den server geladen diese war als UTF-8 gespeichert. in diese .txt werden die EInträge gespeichert und ausgelesen. Das hat prima geklappt. Dann habe ich mir die .txt von dem offiziellen Gästebuch geladen, in dieser waren ja schon einträge, habe diese .txt dann in UTF-8 konvertiert, hochgeladen und ich sah die EInträge nur die Sonderzeichen waren in abdereb Symbolen zu sehen.
Das ist ne Sache die ich nicht verstehe.


-->LG<--
Enigma_X#10
Benutzerbild von Enigma_X
Beiträge: 335
Wohnort: niemandsland
Registriert: Apr 2004

10.03.2010, 23:59

ich denke das ist einfach zu erklären, die wurden ja nicht als UTF-8 zeichen gespeichert, deswegen siehst du sie nicht als UTF-8 Charactäre.

probier mal den content der textdatei erneut komplett via flash zu speichern. so das du von anfangan die Zeichen über flash schickst und diese in richtiger übersetzung in deine.txt abgespeichert werden...

Das ist manchmal eine ekelhafte sache mit .txt dateien zu arbeiten.

habe ich auch bis vor kurzen gemacht, ich empfehle dir wirklich lansam aber sich auf mysql umzusteigen.

ist wesentlich sicherer, schneller, bandbreitenschonender, übersichtlicher und du hast vor allem die shcnelle und wesentlich einfachere möglichkeit einträge shcnell und sauber zu editieren..
mhm in entwiklung
DaFuNsEl#11
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

Themenautor/in

11.03.2010, 00:06

Ok.
Stimmt, klingt logisch. Werd ich mal versuchen. Mal sehen ob ich die Tage oder Wochen dazu komme mich mit mySQL zu beschäftigen. Nochmals vielen Dank. Ich werde mich auf jedenfall hier nochmal melden wenn es vorran oder nicht weiter geht.
Wenn jemandem hier nicht geholfen wird, dann weiss ich auch nicht mehr, hehe. Super schnelle und konkrete Antworten. Das wollt ich nur mal los werden.
Dankeschön :-)
Also dann bis die Tage.

-->LG<--
Enigma_X#12
Benutzerbild von Enigma_X
Beiträge: 335
Wohnort: niemandsland
Registriert: Apr 2004

11.03.2010, 00:15

Gern geschehen :)
mhm in entwiklung

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