php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.12.2005, 18:23  
JK
Benutzer
 
Registriert seit: 11.10.2005
Beiträge: 81
JK
Standard Umlaute...

Hallo,
Ich habe ein Skript geschrieben, das eine Benutzereingabe in eine Datenbank schreibt. Lokal mit einem XAMPP-Server auf Windows funktioniert das auch Problemlos.
Wenn ich es allerdings auf einen Linux-Server lade werden die Umlaute aus einem Text nicht richtig in die Datenbank geschrieben (Nur irgendwelche Sonderzeichen).
Meine erste Vermutung, die Online-Datenbank unterstützt keine Umlaute, doch in phpMyAdmin kann ich problemlos umlaute eintragen.

Daraufhin habe ich folgenden kurzen Testscript geschrieben:
PHP-Code:
<form method="POST">
<input type="text" name="input"><input type="submit">
</form>
<?php
if (isset($_POST['input'])){
    @
mysql_connect('localhost''root''passwort') OR mysql_connect('localhost''root'''); // Online (mit passwort) und offlinetauglich
    
mysql_select_db('test');
    
$tmp $_POST['input']; // in Variable speichern, um auszuschließen, dass php die Umlaute speichern kann.
    
mysql_query('insert into tabelle(wert) values("'.$tmp.'")');
    
mysql_close();
}
?>
Es funktioniert.
Da der richtige Script aber größer ist weiß ich nicht, wo ich suchen soll. Hat jemand von euch eine Idee dazu?

Zusammenfassung:
Kurzscript: online + offline keine Fehler
Langes Script: offline keine Fehler, online Falsche zeichen für die Umlaute.

edit: htmlspecialchars, htmlentities möchte ich ungern benutzen
JK ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.12.2005, 19:04  
Gast
 
Beiträge: n/a
Standard

Welche Zeichencodierung wird bei Dir lokal und beim Webserver angegeben?
  Mit Zitat antworten
Alt 07.12.2005, 19:29  
JK
Benutzer
 
Registriert seit: 11.10.2005
Beiträge: 81
JK
Standard

Bei beiden (ich hoffe das ist die richtige Angabe):
Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci

Bei den ganzen Tabellen steht bei phpMyAdmin: Kollation: latin1_general_ci
__________________
Water Wars - Jetzt anmelden: http://waterwars.de
JK ist offline   Mit Zitat antworten
Alt 07.12.2005, 19:34  
Gast
 
Beiträge: n/a
Standard

Und welche Codierung wird dem Browser angezeigt?
Am besten im Browser selbst kontrollieren. Welchen benutzt Du?
  Mit Zitat antworten
Alt 07.12.2005, 19:56  
JK
Benutzer
 
Registriert seit: 11.10.2005
Beiträge: 81
JK
Standard

Ich habe nun festgestellt, dass es offenbar NICHT an mysql liegt, bei einem codieren der texte steht zum beispiel folgendes in der Tabelle:
Code:
ist doch selbstverst&Atilde;&curren;ndlich!
Die kryptischen Zeichen kommen also schon irgendwie so bei php an.
Ich bin trotzdem für jede weitere Idee dankbar, da wie gesagt, ein minimaler Script funktioniert hatte...

gruß, Jan
__________________
Water Wars - Jetzt anmelden: http://waterwars.de
JK ist offline   Mit Zitat antworten
Alt 07.12.2005, 20:04  
Gast
 
Beiträge: n/a
Standard

Fragen beachten:
Zitat:
Zitat von Bruchpilot
Und welche Codierung wird dem Browser angezeigt?
Dein Problem sollte damit wohl gelöst sein...
  Mit Zitat antworten
Alt 07.12.2005, 20:52  
JK
Benutzer
 
Registriert seit: 11.10.2005
Beiträge: 81
JK
Standard

Zitat:
Zitat von karl-150
Fragen beachten:
Zitat:
Zitat von Bruchpilot
Und welche Codierung wird dem Browser angezeigt?
Dein Problem sollte damit wohl gelöst sein...
Ich habe diese beachtet und mit der Aussage, das es schon falsch in der Datenbank steht diese (wenn nicht das Absendeformular gemeint ist, wovon ich ausgehe) unwichtig gemacht.

Ich habe nun auch den Fehler gefunden. Es lag an der verwendung von htmlentities ohne Angabe eines Zeichensatzes. Mit
htmlentities ( string string , int quote_style , "UTF-8" )
hat es geklappt. Ich bin mir allerdings nicht sicher ob das immer stimmt.
__________________
Water Wars - Jetzt anmelden: http://waterwars.de
JK ist offline   Mit Zitat antworten
Alt 07.12.2005, 20:55  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von JK
edit: htmlspecialchars, htmlentities möchte ich ungern benutzen
Zitat:
Zitat von JK
Ich habe nun auch den Fehler gefunden. Es lag an der verwendung von htmlentities ohne Angabe eines Zeichensatzes
supi
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Umlaute und MySQL4.1 Datenbanken 2 15.11.2009 15:28
Umlaute in Datenbank Eldra PHP Tipps 2008 3 14.05.2008 07:11
XML parsen und Umlaute betterknower PHP Tipps 2008 6 31.12.2007 18:35
UTF8 Dump erzeugt nach import in UTF8 kod DB falsche Umlaute Carino Datenbanken 18 07.05.2007 23:49
Umlaute bei Linux flual2000 PHP Tipps 2006 10 28.04.2006 13:12
Umlaute in Mailformualr auf Strato-Server PHP Tipps 2006 0 16.02.2006 15:44
[Erledigt] Keine Umlaute beim MediaWiki im Internet Explorer PHP Tipps 2006 1 15.02.2006 18:50
[Erledigt] mit php umlaute un Textdatei schreiben (Apple Tiger PHP4) PHP Tipps 2007 7 29.12.2005 19:08
Zeichencodierung und Umlaute PHP Tipps 2005-2 19 28.10.2005 12:33
Umlaute in submit-Button winfo_cologne PHP Tipps 2005-2 7 29.09.2005 17:57
[Erledigt] Mit preg_match auch Umlaute erlauben PHP Tipps 2005-2 4 08.08.2005 10:10
Umlaute in Dateien per CLI in HTML-Entities umwandeln PHP-Fortgeschrittene 5 19.07.2005 09:06
Umlaute automatisch ersetzen PHP Tipps 2005 5 31.03.2005 17:34
[Erledigt] Umlaute werden falsch maskiert PHP Tipps 2004-2 4 11.11.2004 13:19
MySQL Umlaute werden in PHP nicht richtig angezeigt PHP Tipps 2004 5 25.10.2004 20:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php umlaute, php umlaute in variablen, zeichen fü ü php, php umlaute login, insert into falsche umlaute, latin1_general_ci php dump parser script, latin1_general_ci php parser skript, phpmyadmin latin1_general_ci umlaute werden nicht eingetragen, falsche umlaute in input, script das die datenbank ach falschen umlauten durchsucht, zeichensatz umlaut php apple, umlaute speichern und anzeigen., php-script unterstüzt keine umlaute, html input umlaute erlauben, umlaut taugliches kontaktformular, umlaute php, ie php umlaute in variable, php umlaute von seite in variable speichern, falsche zeiche umlaute php �

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.