php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-06-2007, 22:45
Master0Blicker
 Registrierter Benutzer
Links : Onlinestatus : Master0Blicker ist offline
Registriert seit: Jun 2005
Beiträge: 358
Master0Blicker ist zur Zeit noch ein unbeschriebenes Blatt
Standard Umlaute und UTF8, ich verzweifel so langsam

Hallo Leute,

ich verzweifel so langsam an MySQL und PHP.....

Ich habe jetzt 3 Seiten erstellt in PHP und jedes mal das gleiche und doch jedes mal anders (sonst würde ich ja die Lösungen der vorgänger benutzen...)


Also:
Ich habe eine MySQL 5.0.22 DB und 4.x (naja, aktuell eben)

ich benutze UTF-8 auf meiner Seite da sie universel bleiben soll (vielleicht zusätzlcihe Sprache usw..)

Mein Problem: deutsche Umlaute werden nicht richtig angezeigt!

Ich setze ein Header in auf meiner Seite ab:
header("Content-type: text/html; charset=utf8");

Ich habe eine entsprechende Meta-Tag:
<meta http-equiv="content-type" content="text-html; charset=utf-8">

ich achte darauf das meine Tabellen alle in utf8 angelegt sind und die tabellen-kollation ebenfalls auf UTF8 ist. Was zum Teufel will der noch von mir damit die Umlaute richtig anstatt kriptisch oder als Raute usw.. dargestellt werden soll ?

phpmyadmin zeigt mir die Datensätze ebenfalls richtig an, da gehe ich mal davon aus das diese auch richtig gespeichert wurden......

ich habe auch noch folgenden sql-befehl abgesetzt:

SHOW VARIABLES LIKE '%char%'

und bekomme folgendes raus:

character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/



Kann es sein das da was falsch läuft ? Ich meine die Tabellen SIND utf8, gebe ich ja beim erstellen an und wird in phpmyadmin auch in der Strukturansicht auch angezeigt...aber wer weis ?

Kann mir jemand sagen was ich noch tun muss wegen diesen verflixten Umlauten ?
Mit Zitat antworten
  #2 (permalink)  
Alt 19-06-2007, 23:13
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Verbindung zur Datenbank muss auch noch eingestellt werden. SET NAMES

Sind denn nur die Zeichen die aus der Datenbank stammen verkorkst?

Wenn nicht, dann guck mal nach, in welcher Kodierung die Seite ausgeliefert wird (im Firefox get das mit Rechtsklick->Seiteninformationen anzeigen). Eventuell muss das dem Server nämlich auch noch beigebracht werden.
__________________
ich glaube
Mit Zitat antworten
  #3 (permalink)  
Alt 20-06-2007, 18:36
Master0Blicker
 Registrierter Benutzer
Links : Onlinestatus : Master0Blicker ist offline
Registriert seit: Jun 2005
Beiträge: 358
Master0Blicker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@ministry

Hallo,

wenn ich Umlaute fest in der Seite einbinde (also im Script selber) dann werden diese richtig angezeigt.

Wie gesagt, Header, Meta-Tag und Dateiformat sind alle auf UTF8.

Hinzu kommt das ich lokal auf meiner Testumgebung auch alles richtig angezeigt bekomme. Nur eben nicht sobald es auf dem richtigen Webserver läuft!

Ich habe nun per Set character_connection, character_result, usw... alles auf UTF8 gesetzt (weil das genauso auf meiner Testumgebung so eingestellt ist) und bekomme lediglich den character_set_server sowie collation_server nicht weg von latin1...

Hat jemand einen Tip für mich wie ich das umstellen kann auf utf8 ?
Jedenfalls wird es immer noch falsch angezeigt obwohl ich ja nun bis auf das genannte alles auf UTF8 umgestellt habe ?

Wäre wirklich dankbar für jegichen nützlichen Tip.....
Mit Zitat antworten
  #4 (permalink)  
Alt 20-06-2007, 18:49
Master0Blicker
 Registrierter Benutzer
Links : Onlinestatus : Master0Blicker ist offline
Registriert seit: Jun 2005
Beiträge: 358
Master0Blicker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe nun eine Lösung die mich aber ganz und gar nicht begeistert....

Bei jedem Verbindungsaufbau vom Server zur DB setze ich nun 2 SQL-Befehle ab und es funktioniert....

PHP-Code:
SET NAMES utf8;
SET CHARACTER_SET utf8
ABER:
das kann es ja wohl nicht sein, oder ?
Bei meiner anderen Seite habe ich tausende kroatische Zeichensätze (uft8 natürlich) und es funktioniert ohne Probleme.....
Was soll das jetzt mit diesen Umlauten ?

Kann ich das nicht 'schöner' lösen ?
Mit Zitat antworten
  #5 (permalink)  
Alt 20-06-2007, 19:23
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

SET CHARACTER_SET sollte eigentlich gar nicht gehen laut http://dev.mysql.com/doc/refman/5.1/en/set-option.html
Es heißt nämlich CHARACTER SET und das wiederum sollte nichts bringen, weil es fast identisch mit SET NAMES ist...
Generell konnte ich keine Option finden die CHARACTER_SET heißt *zucks*


Was ich sagen würde ist, dass der DB-Server unter latin1 läuft, was ziemlich dumm ist...
character_set_server und character_set_database zusätzlich zum SET NAMES auf utf8 stellen sollte helfen, warum das aktuell auf latin1 steht kann dir wohl nur der Hoster beantworten, denn das ist einfach nur sinnlos... die Verbindung zu php ist immer latin1 solange man die lib nicht neukompiliert, man kann den Server also ohne Probleme für andere Kunden auf utf8 laufen lassen
Mit Zitat antworten
  #6 (permalink)  
Alt 20-06-2007, 20:32
Master0Blicker
 Registrierter Benutzer
Links : Onlinestatus : Master0Blicker ist offline
Registriert seit: Jun 2005
Beiträge: 358
Master0Blicker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@ghostgambler

Oh, danke für den Hinweis...
Habe es so im Web gefunden und mitübernommen gehabt.....
Aber es geht auch ohne das set character_set.....

Ich habe nun alles in der DB auf utf8 gesetzt was ich konnte...
character_set_ und collation des Servers kann ich nicht beeinflussen....ist wohl so default bei Strato...

Bin mit Strato solangsam unzufrieden....
Default sollte eigentlich auch Safe_Mode = ON sein, was auch bei denen auf der Seite steht....
bei mir komischerweise nicht......und auf ca. 10 Anfragen diesbezüglich konnte mir keiner weiterhelfen ausser beim letzten der sagte einfach eine PHP.ini (leere) erstellen und da drinnen Safe_Mode = ON abspeichern und der Server würde automatisch darauf greifen....hat natürlich gar nichts gebracht.
Wäre der Server bei denen nicht so verdammt günstig wäre ich wohl schon lange weg......so ein Saftladen.....

Jedenfalls danke ich dir für deine Antwort
Mit Zitat antworten
  #7 (permalink)  
Alt 20-06-2007, 20:43
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,
Zitat:
ausser beim letzten der sagte einfach eine PHP.ini (leere) erstellen und da drinnen Safe_Mode = ON abspeichern und der Server würde automatisch darauf greifen....hat natürlich gar nichts gebracht.
Ändert man nicht eigentlich die php.ini (die, die der Server halt einliest)? Und ohne Server-Neustart wird auch eine Änderung nicht wirksam.

LG
Mit Zitat antworten
  #8 (permalink)  
Alt 20-06-2007, 21:15
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Master0Blicker
Aber es geht auch ohne das set character_set.....
Hätte mich auch gewundert...

Zitat:
Ich habe nun alles in der DB auf utf8 gesetzt was ich konnte...
character_set_ und collation des Servers kann ich nicht beeinflussen....ist wohl so default bei Strato...
Natürlich kannst du diese Dinge session-seitig abändern. Genau das tust du ja mit SET NAMES auch.

Zitat:
Bin mit Strato solangsam unzufrieden....
Na das wundert mich ehrlich nicht...
Ich kann all-inkl empfehlen. Deren Support ist zwar dumm (nicht nur zu dumm um vorigen Schriftverkehr (der sich komplett am Ende der Mail befindet) zu lesen, sondern haben offensichtlich von ihrem System weniger Ahnung als ich...), aber relativ schnell und bemüht sind ein Problem zu lösen (auch wenn man meist besser damit bedient ist es einfach selbst zu lösen, was in vielen Fällen auch klappt).
Ansonsten vserver... wenn das Angebot mit 3 Domains wäre würde ich sofort zu server4you umsteigen, so sind mir die 2 Euro im Monat die ich bei all-inkl spare zuviel um umzusteigen (man nenne mich geizig, aber es funktioniert bei all-inkl mittlerweile alles *zucks*)


Zitat:
Default sollte eigentlich auch Safe_Mode = ON sein, was auch bei denen auf der Seite steht....
Hab noch nie jemanden getroffen, der das freiwillig an haben wollte oO;


@kuddeldaddeldu
Ja natürlich gibt es nur eine php.ini, was der Herr vielleicht meinte wäre .htaccess, damit kann man auch einige Konfig-Varaiblen von php abändern, allerdings dann nicht mit der vorgeschlagenen Syntax ... keine Ahnung was sich Support-Futzies immer denken oO
Mit Zitat antworten
  #9 (permalink)  
Alt 20-06-2007, 23:59
Master0Blicker
 Registrierter Benutzer
Links : Onlinestatus : Master0Blicker ist offline
Registriert seit: Jun 2005
Beiträge: 358
Master0Blicker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@kuddeldaddel

Der Support meinte tatsächlich das ich eine php.ini in ein root-verzeichnis (das Startverzeichnis einer domain) abspeichern soll. Muss nichts weiter drinn stehen als oben genanntes und es würde automatsich 'greifen'......nun, ich glaubte es zwar auf anhieb nicht aber nach mehrmaligen Versuchen war vollkommend überzeugt das es so nicht geht....

Das war das Ergebnis nach mindestens 7 oder 8 Supportanfragen diesbezüglich....

Übrigens: bei Strato ist es genauso wie ghostgambler bereits von anderen beschrieben hat: diese lesen den Schriftverkehr überhaupt nicht. Man kann gar nicht auf mails Antworten und muss jedesmal das Kontaktformular auf ein neues bemühen.....habe natürlich den Schriftverkehr hinenkopiert und gelesen wurde es trotzdem nicht......

Sowas unkompetentes habe ich noch nie erlebt!

Aber immerhin, 40 € / Monat für ein Managed-Server mit 3 Domains und alles sonstige unbegrenzt.....

@ghostgambler

Geht ja nicht wirklich um diese Sache sondern das diese einfach unfähig sind......
Ich brauche Safemode nicht, wäre es was anderes wäre ich aber auch total im Stich gelassen vom Support.....

Wäre es mir nicht zu mühselig würde ich umsteigen auf ein anderen Anbieter...der Preis war vor einigen Monaten auch unschlagbar.....
Die Preise sind danach schlagartig wieder in die Höhe und mein Angebot gab es nicht mehr....
Muss mal wieder vergleichen......
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:48 Uhr.