Jump to content

[PHP] Probleme mit Sonderzeichen auf LCD 20x4


Recommended Posts

Hallo Zusammen,

ich habe Schwierigkeiten Sonderzeichen auf dem LCD auszugeben. Ich benutze hierfür die Funktion auto_to_ks0066u, wie sie auf der TF-Webseite zum download angeboten wird. rufe ich die Funktion auf

$lcd->writeLine(0, 2, auto_to_ks0066u("test äöüß"));

kommt auf dem Display nur mist (schwarze Pixel) oder der text ohne Sonderzeichen und anstatt der Sonderzeichen Fragezeichen an. der PHP Script gibt folgende Meldungen aus:

PHP Warning:  mb_convert_encoding(): Unable to detect character encoding in /var/www/Test.php on line 63

Uninitialized string offset: 18 in /var/www/Test.php on line 68

Uninitialized string offset: 19 in /var/www/Test.php on line 68

 

Die betreffenden Zeilen im Script sind:

$utf32le = mb_convert_encoding($string, "UTF-32LE", "auto");

(63)

$codePoint = ord($utf32le[$ii]) + ord($utf32le[$ii + 1]) * 256 + ord($utf32le[$ii + 2]) * 65536 + ord($utf32le[$ii + 3]) * 16777216;

(68)

 

Ich bin leider nicht so bewandert in PHP, ich vermute dass es irgendwie  mit der mb_convert_encoding() zusammenhängt.

Programmiere ich das ganze in Java funktioniert das Sonderzeichen umsetzen einwandfrei.

Meine Plattform ist ein Raspberry Pi mit Wheezy und php5.

Vielen Dank im Vorraus

Link to comment
Share on other sites

mb_convert_encoding wird hier benutzt um den String nach UTF-32LE zu konvertieren. Aus UTF-32LE kann ich dann die eigentlichen Unicode Codepoints ausrechnen. Dabei lasse ich PHP mit der auto option raten/ermitteln in welchem Encoding deine .php Datei und damit der "test äöüß" String ist.

 

Das Problem hier scheint zu sein, dass PHP nicht in der Lage ist das in deinem Fall zu bestimmen. Die Encodings die PHP unterstütz sind hier aufgelistet

 

http://www.php.net/manual/de/mbstring.supported-encodings.php

 

Du kannst jetzt versuchen deine .php Datei mit einem anderen Encoding zu speichern, bzw. auto hier

 

mb_convert_encoding($string, "UTF-32LE", "auto")

 

zum Encoding deiner .php Datei ändern.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...