6. ASCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2
3
4 A B C D E F G H I J K L M N O
5 P Q R S T U VWX Y Z
6
7
7. ASCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2
3
4 A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z
6 a b c d e f g h i j k l m n o
7 p q r s t u v w x y z
8. ASCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2
3 0 1 2 3 4 5 6 7 8 9
4 A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z
6 a b c d e f g h i j k l m n o
7 p q r s t u v w x y z
9. ASCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2 ! ” # $ % & ’ ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ .
10. ASCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2 ! ” # $ % & ’ ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ .
14. ASCII
0 1 2 3 4 5 6 7 8 9 A B C D E F
0
1
2 ! ” # $ % & ’ ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ .
20. UTF-16
jedes Zeichen 2 Byte lang
Einfach
Codiert nur die meistgenutzten Zeichen aus
Unicode
Nur Zeichen von U+0000 bis U+FFFF möglich.
Big- oder LittleEndian?
MacOS-X, Windows, Java, .Net
21. UTF-8
jedes Zeichen zwischen 1 und 4 Byte lang
Streamsicher, da Start- und Folgezeichen
unterschieden werden
Alle Unicode-Zeichen codierbar und noch viel mehr
(bis zu 2^42 - 4.398.046.511.104)
Platzsparend, da oft nur 1 Byte gespeichert
werden muss (Lateinische Schriften)
Linux, IETF
22. UTF-8
Startbyte 0xxxxxxx oder 11xxxxxx
Folgebyte 10xxxxxx
0xxxxxxx für 1-Byte-Zeichen
1xxxxxxx für Mehr-Byte-Zeichen.
Die Anzahl der 1 zeigt die Anzahl der
Gesamt-Byte an
23. UTF-8
00-7F ein Byte langes Zeichen (ASCII)
80-BF 2., 3. oder 4. Byte einer mehrbyte-
Sequenz
C2-DF Start einer 2 Byte langen Sequenz
E0-EF Start einer 3 Byte langen Sequenz
F0-F4 Start einer 4 Byte langen Sequenz
26. Warum ist das ein
Problem?
Kein Problem wenn NUR EINE ISO-8859-Variante
zum Einsatz kommt.
Internationale Seiten
Mehrsprachige Texte (da langt schon ein
griechisches Wort ...)
Mehrbyte-Zeichen und strlen?
Darstellung von einzelnen Zeichen eines MehrByte-
Zeichens (z.B. ä statt ä)
27. Codierung und PHP
mb_internal_encoding('UTF-8'); mb_http_input ('UTF-8'); mb_http_output ('UTF-8');
Content-type: text/html; charset=utf-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> und <form accept-
charset = "utf-8">
CREATE DATABASE ... DEFAULT CHARACTER SET utf8 COLLATE utf8 ... ENGINE ...
CHARSET=utf8 COLLATE=utf8_unicode_ci
SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'
default_charset = UTF-8
mb_string Funktionen
mb-Reguläre Ausdrücke
u-Modifikator für preg-RegEx
28. mb_string
MultiByte-Funktionen
Ersetzen „normale“ String-Funktionen
Ermöglichen den Umgang mit UTF-8
Überladen von Standard-Funktionen für Mail (1),
String (2) und RegEx-Funktionen (4) mittles
mbstring.overload = n
29. iconv
Konvertierung aus beliebigem Zeichensatz
nach z.B. UTF-8
<?php
$sourceEnc = mb_detect_encoding($string);
$targetEnc = ‘UTF8//TRANSLIT/ /IGNORE‘;
echo iconv($sourceEnc,$targetEnc,$string);
30. MySQL
Server [mysqld]
default-collation=utf8_bin
Client character-set-server=utf8
collation-server=utf8_bin
Verbindung default-character-set=utf8
Datenbank
[client]
Tabelle default-character-set=utf8
31. Client MySQL
(UTF-8)
Ü
C3 9C
Verbindung
(ISO-8859-1)
Ü
C3 9C Server
(UTF-8)
Ü
C3 83 C2 9C
Steuerzeichen f&#xFC;r Drucker etc.\n\nSch.... ganz sch&#xF6;n voll.\n\nUnd die Briten nerven weil es zwar ein Dollar-Zeichen, aber kein Pfund zeichen gibt. Und platzist auch nicht mehr.....\n
\n
Steuerzeichen f&#xFC;r Drucker etc.\n\nSch.... ganz sch&#xF6;n voll.\n\nUnd die Briten nerven weil es zwar ein Dollar-Zeichen, aber kein Pfund zeichen gibt. Und platzist auch nicht mehr.....\n
Steuerzeichen f&#xFC;r Drucker etc.\n\nSch.... ganz sch&#xF6;n voll.\n\nUnd die Briten nerven weil es zwar ein Dollar-Zeichen, aber kein Pfund zeichen gibt. Und platzist auch nicht mehr.....\n
Steuerzeichen f&#xFC;r Drucker etc.\n\nSch.... ganz sch&#xF6;n voll.\n\nUnd die Briten nerven weil es zwar ein Dollar-Zeichen, aber kein Pfund zeichen gibt. Und platzist auch nicht mehr.....\n
Steuerzeichen f&#xFC;r Drucker etc.\n\nSch.... ganz sch&#xF6;n voll.\n\nUnd die Briten nerven weil es zwar ein Dollar-Zeichen, aber kein Pfund zeichen gibt. Und platzist auch nicht mehr.....\n
Steuerzeichen f&#xFC;r Drucker etc.\n\nSch.... ganz sch&#xF6;n voll.\n\nUnd die Briten nerven weil es zwar ein Dollar-Zeichen, aber kein Pfund zeichen gibt. Und platzist auch nicht mehr.....\n