php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.02.2007, 17:40  
Erfahrener Benutzer
 
Registriert seit: 20.07.2004
Beiträge: 322
test022
test022 eine Nachricht über ICQ schicken
Standard UTF8 php und MySQL

Guten Tag,
Habe ein Server Update „Strato Server“ gemacht, ein Image mit SuSe10.0 und Plesk 8.1

Nun habe ich jetzt probleme mit einigen PHP Scripten:

Früher hat z.B dieses Script ermöglicht jede Sprache in Datenbank zu speichern.

Jetzt klappt es nur noch auszulesen und darstellen. Wenn ich etwas per Script ins Datenbank speichere… (insert oder update) werden nur Fragezeichen gespeichert anstatt kyrillischen Zeichen (?????????). Woran liegt es? Also wie gesagt select funktioniert einwandfrei aber update und insert klappt nicht.


$connect = mysql_connect($sql_host, $sql_user, $sql_pass);
if (!$connect) die("Keine Verbindung zu MySQL");
@mysql_select_db($sql_db, $connect) or die (mysql_error());

mysql_query("SET CHARACTER SET 'utf8'");

woran liegt es?

Vielen Dank im voraus
test022 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.02.2007, 18:40  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo test022,

das Thema Encoding kann beliebig komplex sein und eine Ferndiagnose ist recht schwer. Was du aber prüfen solltest sind:

- Encoding der DB
- Encoding der HTML-Seite die ausgeliefert wird
- Encoding, mit dem PHP die Strings verarbeitet
- Encoding, mit dem der Apache den Content streamt


Grüße,
Dr.E.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 01.02.2007, 18:47  
Erfahrener Benutzer
 
Registriert seit: 20.07.2004
Beiträge: 322
test022
test022 eine Nachricht über ICQ schicken
Standard

erstmal vielen Dank!

aber früher mit alten Server einstellungen hat mein Script funktioniert.

Also das Problem tritt nur beim speichern in den mysql oder update, die informationen werden aus DB perfekt geliefert. Wenn ich z.B. per PhpMyAdmin in die Tabellen kyrillische zeichen abspeichere, werden die auf der Webseite korrekt angezeigt, wenn ich die Über Script abspeichere werden die Zeichen als Fragezeichen dargestellt.

Kannst du vielleicht mehr infos geben wo auf dem Server was nachgeguckt werden soll
test022 ist offline  
Alt 02.02.2007, 20:58  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo test022,

dazu brauche ich deine Hilfe:

- Welchen Storage-Engine-Typen benutzt du?
- Welche collation hat deine DB?
- Welche MySQL-Version verwendest du?

Grüße,
Dr.E.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 02.02.2007, 22:48  
Erfahrener Benutzer
 
Registriert seit: 20.07.2004
Beiträge: 322
test022
test022 eine Nachricht über ICQ schicken
Standard

dr.e. Vielen Dank für deine Hilfe!

Nach langem googeln hat es sich erledigt....

habe nur folgendes verändert in meinem Script:

$meinDB = mysql_connect($MySql_Host, $MySql_user, $MySql_pass);
if (!$meinDB) die("Verbindung zu MySQL Fehlgeschlagen");
@mysql_select_db($MySql_db, $meinDB) or die (mysql_error());

@mysql_query("SET NAMES 'utf8'", $meinDB);


und schon läuft es wie vorher...
test022 ist offline  
Alt 03.02.2007, 20:24  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo test022,

richtig. Das bedeutet aber, dass deine Datenbank entweder nicht in utf-8 codiert ist, oder dein Client (Webserver) nicht in utf-8 ausliefert.

Hast du auch genau verstanden, woran es wirklich liegt und wie die einzelnen Komponenten zusammenspielen? Wenn nicht, denke nochmals darüber nach, denn Encoding ist ein Thema, das man irgendwann mal verstanden haben muss, sonst fällt man da 1000 Mal drüber.


Grüße,
Dr,E,
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 12.02.2007, 14:39  
Erfahrener Benutzer
 
Registriert seit: 20.07.2004
Beiträge: 322
test022
test022 eine Nachricht über ICQ schicken
Standard

Vielen Dank dr.e, wenn ich aber ehrlich sein darf. Habe ich nichts verstanden, das habe ich nur raus gegoogelt. Wie so etwas funktioniert habe ich keine Ahnung. Weiß nicht mal was und wo ich so etwas nachlesen soll…
test022 ist offline  
Alt 12.02.2007, 23:11  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

1) Kannst du dazu auch einiges in Google finden (Stichwort: Encoding und Zeichensätze)
2) Solltest du verstehen, was du tust, oder es fällt die bei nächst bester Gelegenheit wieder auf die Füße!

So long...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


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
mysql Anführungszeichen werde falsch dargestellt trotz UTF 8 bomber Datenbanken 0 14.02.2008 21:18
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
UTF8 Dump erzeugt nach import in UTF8 kod DB falsche Umlaute Carino Datenbanken 18 07.05.2007 23:49
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
mySQL Engine MyISAM und INNODB Lindwyrm Datenbanken 3 14.04.2007 12:52
Verständnisprobleme bei Utf8 > Character Set > Collate erna Datenbanken 4 20.03.2007 14:08
[Erledigt] Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
MYSQL - ASCII query in UTF8 Tabelle PHP Tipps 2005-2 1 14.09.2005 14:43
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
[Erledigt] UTF8 und MySQL 4.0 Datenbanken 5 18.04.2005 21:31
PHP5 & MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2007/43364-utf8-php-und-mysql.html, strato kyrillisch, mysql kyrillisch, strato postfach kyrillisch, plesk mysql utf8, cyrillic mysql php encode, mysql insert utf8, mysql apostroph auslesen, é als fragezeichen php, strato datenbank utf, strato utf-8 mysql, plesk encoding html, plesk htm utf-8, mysql mysql_db-query update, plesk russischer zeichensatz, strato codierung utf-8, utf8 strato mysql, mysql php write utf8, mysql fragezeichen beim auslesen trotz utf-8, kyrilisch update datenbank utf

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 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.