SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.11.2011, 14:40:42
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
Umlaute

Hallo

Vor 2 Jahren hatte ich Umlautproblene beim Excel-Export. Jetzt im PHP/MySql und die damaligen Tipps helfen nicht weiter.

Ich habe Daten auf dem internen Server und welche extern im Internet. Die Umlaute auf dem internen Server kommen, die externen nicht. Die Ausgabe ist auf derselben Seite, und doch so unterschiedlich. Habe verschiedene Versionen ausgetestet, nichts bringt was. Immer sind die Umlaute von der internen DB gut und die vom externen Server nicht. In der DB sind an beiden Orten die Umlaute uncodiert erfasst, also öäü

Wie kann ich die Umlaute vom externen Server richtig anzeigen?


PHP-Code:
$link mysql_connect("localhost","user","pw");
mysql_select_db("db",$link);

$link_extern mysql_connect("t.mysql.db.xxx.yyy","user","pw");
mysql_select_db("db",$link_extern);


$query "SELECT name FROM sheet
where name LIKE '$a'
order by name"
;
$result mysql_query($query,$link);
$num mysql_num_rows($result);
for (
$i 0$i $num$i++)

$row mysql_fetch_array($result);
echo
"$row[name]";
}


$query_extern "SELECT Name FROM sheetextern
where Name LIKE '$a'
order by Name"
;

$result_extern mysql_query($query_extern,$link_extern);
$num_extern mysql_num_rows($result_extern);
for (
$i 0$i $num_extern$i++)

$row_extern mysql_fetch_array($result_extern);
addslashes($Name1 $row_extern['Name']); echo"$Name1"
utf8_encode($Name2 $row_extern['Name']); echo"$Name2"
$Name3=htmlspecialchars(utf8_encode($row_extern['Name'])); echo"$Name3"
utf8_decode($Name4 $row_extern['Name']); echo"$Name4";


Habe auch die DB angeschaut mit SHOW VARIABLES LIKE 'character_set%' und die sind auf utf8 gesetzt.

Code:
character_set_client 	utf8
character_set_connection 	utf8
character_set_database 	utf8
character_set_filesystem 	binary
character_set_results 	utf8
character_set_server 	utf8
character_set_system 	utf8
character_sets_dir 	/usr/local/share/mysql/charsets/

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 	D:\xampp\mysql\share\charsets\

und der Header im HTML

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Mit Zitat antworten
  #2  
Alt 19.11.2011, 15:04:22
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 12
Beiträge: 2.269
AW: Umlaute

Zitat:
PHP-Code:
addslashes($Name1 $row_extern['Name']); ...
utf8_encode($Name2 $row_extern['Name']); ...
...  
utf8_decode($Name4 $row_extern['Name']); 
Was soll denn der Unsinn bewirken?

Und warum eine for und keine while Schleife?

Zitat:
Habe auch die DB angeschaut mit SHOW VARIABLES LIKE 'character_set%' und die sind auf utf8 gesetzt.
Mit phpmyadmin, oder aus dem Script heraus ?

Zitat:
HTML-Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Beides?
Hääää...
Auch den richtigen HTTP Header gesendet?
Mit Zitat antworten
  #3  
Alt 19.11.2011, 22:34:14
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
AW: Umlaute

Ja habe alles so gepostet wie ich es habe, inkl. den unterschiedlichen Tests.

Wenn ich im Header schreibe:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

dann sind die Umlaute der internen DB nicht richtig, die externen schon

Bei
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

sind die internen Umlaute gut, die externen nicht.

Wenn ich die externe DB jedoch über das Internet anschaue, also auch extern kommt die Umlaute richtig.

Vielelciht liegt es doch am Header.

Code:
<?php   session_start();
require_once("../lib/header.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="shortcut icon" type="image/x-icon" href="../incl/favico.ico" />
<title>Titel</title>
<link href="../lib/style_admin.css" rel="stylesheet" type="text/css" />
<link href="../incl/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
</head>
Mit Zitat antworten
  #4  
Alt 20.11.2011, 08:16:11
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 12
Beiträge: 2.269
AW: Umlaute

Warum hast du die Frage zum Verbindungscharset nicht beantwortet?
Mit Zitat antworten
  #5  
Alt 21.11.2011, 21:34:23
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
AW: Umlaute

Vermutlich weil ich sie nicht verstanden habe, sorry

Sehe nun klarer aber bin nicht weiter!


Mit dem Header
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
kommt die externe DB richtig

Mit
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
die interne


Jetzt möchte ich die interne DB so umstellen dass alles auf utf8 ist.

Habe im phpMyAdmin im SQL-Feld SHOW VARIABLES LIKE 'character_set%' gemacht und folgendes erhalten:

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir D:\xampp\mysql\share\charsets\

Kann es daran liegen dass character_set_server latin1 steht?

Ich möchte nun, dass alles mit utf8 erkennbar ist. die externe DB geht dann und intern sollte ich es umstellen. Doch mit allem anpassen und umkopieren geht es nicht.

PS: gerne würde ich die Verbindungscharset beantworten, doch ich weiss nicht wo ich das finde

Danke
Mit Zitat antworten
  #6  
Alt 21.11.2011, 21:40:27
knight1 knight1 ist offline
Junior Member
 
Registriert seit: May 2003
Ort: Trier
Alter: 44
Beiträge: 310
knight1 eine Nachricht über MSN schicken knight1 eine Nachricht über Skype™ schicken
AW: Umlaute

Zitat:
Zitat von Riegelhaus Beitrag anzeigen
...
PS: gerne würde ich die Verbindungscharset beantworten, doch ich weiss nicht wo ich das finde
...
Was bedeutet "Verbindung" denn auf Englisch?
Denk' mal nach.

Kai aka Knight1
__________________
Please visit: http://www.kaikordel.de
Mit Zitat antworten
  #7  
Alt 21.11.2011, 22:26:24
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
AW: Umlaute

ist es das

SHOW VARIABLES LIKE 'collation%';

collation_connection utf8_bin
collation_database utf8_general_ci
collation_server latin1_swedish_ci


Wie kann ich den collation_server latin1_swedish_ci auf UTF8 anpassen? da liegt doch das Problem, oder?
Mit Zitat antworten
  #8  
Alt 21.11.2011, 23:08:14
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
AW: Umlaute

Habe mal eine neue DB erfasst

create database adresskartei character set latin1 collate latin_german1_ci

und dann SHOW VARIABLES LIKE 'collation%'

Und der Schwede ist immer noch drin

collation_connection utf8_general_ci
collation_database latin1_german1_ci
collation_server latin1_swedish_ci


oder;

create database adresskartei2 character set utf8 collate utf8_general_ci

collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server latin1_swedish_ci


Was muss es heissen? Und der Schwede????
Mit Zitat antworten
  #9  
Alt 22.11.2011, 00:08:44
Riegelhaus Riegelhaus ist offline
Anfänger
 
Registriert seit: Nov 2003
Beiträge: 91
AW: Umlaute

Die extrerne DB die richtig ist hat folgende Einstllungen

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


collation_connection utf8_general_ci
collation_database utf8_unicode_ci
collation_server utf8_unicode_ci


Eben: ohne Schwede!
Mit Zitat antworten
  #10  
Alt 22.11.2011, 07:47:27
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 12
Beiträge: 2.269
AW: Umlaute

Zitat:
Habe im phpMyAdmin im SQL-Feld SHOW VARIABLES LIKE 'character_set%' gemacht und folgendes erhalten:
Genau, das habe ich mir gedacht!
Der Test mit phpMyAdmin hilft wenig weiter denn phpMyAdmin setzt seinen eigenen Verbindungscharset.

Du musst ihn selber im PHP setzen.
Dafür gibts eine spezielle MySQL_**** Funktion.
Nutze sie.

Und welchen Charset der Server hat ist dabei egal.
character_set_server latin1 ist egal

Und auch die Collation ist erstmal für das Problem egal. Denn das betrifft nur Vergleiche und das Sortieren
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
AJAX und Umlaute Realnub PHP für Fortgeschrittene und Experten 1 11.01.2008 15:10:08
Umlaute richtig in SQL eintragen und wieder herausbekommen xkky PHP Grundlagen 2 17.09.2007 23:46:28
PEAR Mail - Umlaute im Absender Serp PHP für Fortgeschrittene und Experten 3 22.10.2006 22:28:40
Umlaute in Mail Frankie PHP Grundlagen 1 03.06.2004 00:52:34
Umlaute in HTML-Zeichencode umwandeln Idolast PHP Grundlagen 4 23.01.2004 16:22:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:29:19 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.


© 2001-2021 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt