php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.11.2007, 12:05  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard XML Zeichensatz

Hallo Leute,

ich erstelle mit SimpleXML eine XML Datei die eine Usereingabe beinhaltet. Das funktioniert auch ganz gut bis auf den Zeichensatz. Wenn ein User Ä,Ö,etc. eingibt gibts Probleme. Mit UTF-8 wird die XML-Datei zwar erstellt, aber ist laut der IE XML anzeige nicht korrekt und wird auch von der XML Schnittstelle für die die Datei gedacht ist nicht angenommen.

Wenn ich auf ISO-8859-1 umsteige wird die Datei erst gar nicht erstellt sondern ich bekomme diese Fehlermeldung:

Code:
Warning: SimpleXMLElement::asXML() [function.SimpleXMLElement-asXML]: output conversion failed due to conv error, bytes 0xF6 0x26 0x23 0x31 in
cycap ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.11.2007, 13:22  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

hmm ich hatte das problem, dass wenn ich mit notepad eine UTF-8 XML speicherte simplexml diese datei nicht akzeptierte, obwohl ich in notepad UTF-8 ausgewählt hatte. ich musste dann hingehen und die datei mit php öffnen, mittels utf8_encode umwandeln und wieder speichern.

also probier mal so zu speichern:

PHP-Code:
file_put_contents('xml.xml',utf8_encode($sxml->asXML())); 
garantieren kann ichs aber nicht....
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 19.11.2007, 19:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

&entities; verwenden?
nikosch ist offline  
Alt 20.11.2007, 09:47  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

@Brian, das hilft mir leider nicht, da wird aus nem ö nen ö

@nikosch, das würde die datei zwar valide machen, aber die zeichen können dann später nicht verarbeitet werden, da das Programm an das die XML-Dateien übergeben werden die Entities nicht verarbeitet
cycap ist offline  
Alt 20.11.2007, 10:02  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

So fehler gefunden, der Fehler lag nicht bei mir sondern in SimpleXML. Da scheint wohl ein Bug bei der Dateierstellung zu sein. Hab jetzt UTF-8 genommen und die Datei selbst erstellt. Also

PHP-Code:
<?
$xml
->asXML("datei.xml");
// FALSCH / BUG
?>
ersetzt durch

PHP-Code:
<?
file_put_contents
("datei.xml",$xml->asXML());
// RICHTIG :))
?>
Und schon ist die erstellte Datei korrekt.
cycap 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
Arabischer Zeichensatz Steffi.S Datenbanken 11 28.05.2008 09:30
Umlaute in Datenbank Eldra PHP Tipps 2008 3 14.05.2008 07:11
Zeichensatz Probleme aus Datenbankabfrage mafra PHP Tipps 2008 3 04.03.2008 13:51
Welche Information bekommen die einzelnen MVC-Elemente? Zergling-new PHP-Fortgeschrittene 14 06.10.2007 16:59
Zeichensatz einer Formularfeldabfrage bestimmen Unzi PHP Tipps 2007 5 07.07.2007 21:18
groß- kleinschreibung ignorieren Aris Sung Datenbanken 5 10.06.2007 13:14
XML mit PHP erstellen -> Problem mit Zeichensatz madSoul PHP Tipps 2007 11 23.03.2007 12:36
welchen zeichensatz benutzt windows ? cytrobic HTML, Usability und Barrierefreiheit 6 16.09.2006 17:48
XML Dateien richtige Zeichensatz solarwasser HTML, Usability und Barrierefreiheit 3 26.05.2006 21:59
htmlentities und nl2br in einem kombiniert wiegia086 PHP Tipps 2006 7 22.04.2006 01:19
Zeichensatz ermitteln workaholic PHP Tipps 2005 3 07.04.2005 16:42
Dump in neue DB und in meinem Code steht Ö und dann ö Ypsillon PHP Tipps 2005 2 18.02.2005 12:28
Problem mit Zeichensatz (xml,php) HTML, Usability und Barrierefreiheit 6 19.01.2005 14:14
riesen problem mit zeichensatz. bitte hilfe PHP Tipps 2004-2 6 29.11.2004 21:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xml zeichensatz, output conversion failed due to conv error, asxml umlaute, php asxml sonderzeichen, simplexml asxml umlaute, output conversion failed due to conv error, bytes, warning: simplexmlelement::asxml, warning: simplexmlelement::asxml() [simplexmlelement.asxml]: output conversion failed due to conv error, bytes, \output conversion failed due to conv error\, \output conversion failed due to conv error, bytes\, output conversion failed due to conv error, bytes 0xf6 0x6c 0x6c 0x62, file_put_contents xml, asxml utf-8, http://www.php.de/php-tipps-2008/45117-xml-zeichensatz.html, php asxml utf-8, php asxml umlaute, simplexmlelement zeichensatz, simplexmlelement failed due to conv error, simplexml output conversion failed due to conv error, simplexmlelement::asxml() [simplexmlelement.asxml]: output conversion failed due to conv error,

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:11 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.