Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Dateiinhalt in UTF-8 ist nicht gleich UTF-8?

Mitglied: lexa-lexa

lexa-lexa (Level 1) - Jetzt verbinden

28.07.2015, aktualisiert 04.08.2015, 1218 Aufrufe, 6 Kommentare

Hi Linux und PHP Gurus,

ich habe ein Problem mit dem Zeichensatz *in* einer Datei und komme nicht weiter:

Eine Datei "language.php" enthält Übersetzungen in allen möglichen Sprachen - Text UTF-8. Sie liegt auf einem SuSE 11 Server (Dateisystem XFS) und funktionierte dort einwandfrei und lässt sich dort auch sauber betrachten (less), inkl. Russisch, Dänisch, Polnisch etc.

Diese Datei kopierte ich auf einen Ubuntu 14.04 Server (Dateisystem EXT4) und verhält sich völlig anders:

  • less zeigt dort, wo es kritisch ist, nur Zeichensalat / Platzhalter an.

  • die zugehörige PHP Prozedur (json_encode), die mit Hilfe dieser Datei eine Ausgabe produzieren soll, endet mit der Warnung (im error_log) "PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in /var/www/vhosts/some.host.com/httpdocs/typo3conf/ext/geo_search/all_results.php on line 235"

Mit "(z.B. iconv -f UTF-8 -t ISO-8895-1 ...)" komme ich zu keinem Ergebnis, das stolpert immer über unbekannte Zeichen und bricht ab. Und das, was es bis dahin produziert hat, ist auch nicht wirklich brauchbar. Also ist eine Konvertierung zwecklos.

Die Datei ist bis aufs Byte gleich gross auf beiden Seiten, hat Unix Umbrüche, ... alles passt soweit. Kopiert habe ich per FTP als Plain Text und und testweise auch als .gz, alles umsonst bis hier.

Wo muss ich nach Ursache suchen?

Dateisystem? Locale? PHP oder Apache Konfiguration?

Bin für jede solide Idee dankbar.
Mitglied: certifiedit.net
LÖSUNG 29.07.2015, aktualisiert 04.08.2015
Hi Lexa,

wenn die Datei gleich ist kann es nur am "Verarbeiter" liegen. PHP, .htaccess? usw usf.

Grüße
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 29.07.2015, aktualisiert 04.08.2015
Moin,

Stimmt der md5- oder sha-hash?

FTP Übertragung im Textmodus vermurkst oft etwas. heutzutage sollte man nur noch binry-Mode vewenden.

lks
Bitte warten ..
Mitglied: lexa-lexa
04.08.2015, aktualisiert um 17:11 Uhr
Hi ihr,

Danke euch beiden für die Ideen, aber ich bin noch nicht viel weiter. Die Datei ist gleich (s.u.). Dass die "Verarbeiter" Schuld sind erscheint mir unwahrscheinlich, kann ich aber nicht ausschliessen, aber die PHP Optionen phpinfo() und die htaccess sind identisch. Da finde ich keinen neuen Hebel.

Der Tipp mit den Hashes ist gut , da hätte ich auch selbst drauf kommen können/müssen. Aber so ist das, wenn man sich verrennt... Ich breche das Problem auf den MD5 Hash herunter und stelle fest, dass der auf Server1 und Server2 exakt identisch ist.

Somit ist klar, dass es nicht an der Datei liegt.

Wieso zeigt mir aber 'less languages.php' unterschiedliche Inhalte an. Woran kann das liegen?

Ausserdem (kürzlich erst entdeckt):
In einem Ordner liegen PDF-Dateien mit kyrillischen (Russisch) Zeichen im Dateinamen, welche auf Server1 korrekt angezeigt werden (ls -al) und auf dem Problem-Server2 mit Zeichensalat.

Könnte das einen Zusammenhang haben und wie kann man das korrigieren?
Bitte warten ..
Mitglied: 122990
LÖSUNG 04.08.2015, aktualisiert um 19:05 Uhr
Moin,
was sagt ein
echo $LANG
in einer Shell der Useraccounts ?

Und in der httpd.conf des Apache steht dort ein:
AddDefaultCharset utf-8
?
Gruß grexit
Bitte warten ..
Mitglied: Lochkartenstanzer
04.08.2015 um 17:19 Uhr
Zitat von lexa-lexa:

In einem Ordner liegen PDF-Dateien mit kyrillischen (Russisch) Zeichen im Dateinamen, welche auf Server1 korrekt angezeigt werden
(ls -al) und auf dem Problem-Server2 mit Zeichensalat.

Könnte das einen Zusammenhang haben und wie kann man das korrigieren?

Dann soltest Du mal die verschiedenen Umgebungsvariablen, die die Zeichencodierung betreffen durchschauen, z.B. LANG.

lks
Bitte warten ..
Mitglied: lexa-lexa
04.08.2015 um 19:05 Uhr
Das Problem mit dem Dateiinhalt ist wahrscheinlich gelöst und liegt bei PHP oder Typo3:
http://wissen.netzhaut.de/typo3/utf-8-zeichen-in-dateinamen/
Obwohl sich der Tipp mit Dateinamen beschäftigt, habe ich - bevor json_encode() ausgeführt wird - nun quick-n-dirty einfach mal ein "setlocale()" reingepackt und der Code geht nun. Ob und wie ich das global für den Server oder PHP oder Typo3 mache, kann ich nun gezielt untersuchen.

Was die Umgebung betrifft:

Ich bin angemeldet als root und führe "$ locale" auf Server1 aus:
server1:~ # locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

auf dem Problem Server2:
server2:~# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Die Herausforderung scheint nun zu sein, wie man Apache, root, PHP, Typo3... usw. unter einen definierten Hut bekommt, damit alle mit denselben Einstellungen werken. Aber ich glaube, das ist dann ein anderes Thema.

Danke euch Dreien für den wertvollen Input
Bitte warten ..
Ähnliche Inhalte
Internet
FTP Umwandlung UTF-8 in ANSI
gelöst Frage von Xaero1982Internet12 Kommentare

Moin Zusammen, gibt es eine Möglichkeit das CSV Dateien direkt vom FTP Server oder beim Upload vom UTF-8 Format ...

Python
Python mal utf-8 mal nicht
gelöst Frage von peterpaPython1 Kommentar

Hallo, ich versuche gerade ein Programm zu schreiben, in Python, welches eine große HTML Datei in mehrere kleine aufspaltet. ...

Blogs

Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII

gelöst Frage von vcdweltBlogs11 Kommentare

Hi, seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt. 14-Dec-2017 08:18:05 UTC ...

E-Mail

DAVID 12 Betreff wird nicht angezeigt (UTF-8)

gelöst Frage von Thorsten85E-Mail12 Kommentare

Hallo zusammen, wir haben bei einem übernommenem David Server (Version 12.00a) das Problem, dass seit neuestem der Betreff einiger ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 StundenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 StundenExchange Server

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 4 StundenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 3 TagenVoice over IP7 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
Windows Server
Drucker auf dem Terminalserver 2016 via Printserver wird nicht angezeigt
Frage von EchterHansenWindows Server14 Kommentare

Moin Moin, ich habe hier zwei 2016er Terminalserver und einen 2016er Printserver, auf dem ca. 10 RICOH-Drucker Typ 4. ...

Hardware
Ncomputing N600 oder auch 600W Privat nutzen Kostenlos oder kostengünstig
gelöst Frage von PlerTanixHardware14 Kommentare

Hallo liebe Forum User, Ich habe da eine Frage. Ich bin Azubi im dritten Lehrjahr und bei uns in ...

Windows 10
Upgrade Windows 10 1903 und Office 2010 Problem mit Userzertifikaten
gelöst Frage von Looser27Windows 1012 Kommentare

Guten Morgen, ich habe bei uns ein Phänomen in o.g. Kombination festgestellt, welches nach dem Inplace-Upgrade auf 1903 auftritt. ...

Datenschutz
Onedrive, Dropbox, Google Drive und Co. sperren?
Frage von holliknolliDatenschutz10 Kommentare

Hallo, wir haben folgendes Problem: die oben gennannten Cloud-Storages. Die wollen wir für Mitarbeiter sperren, damit kein Wildwuchs entsteht, ...