Schei. encoding

2.039 Aufrufe

Veröffentlicht am

1 Kommentar
0 Gefällt mir
Statistik
Notizen
  • Check out my comment on utf8_encode on php.net. It’s a function which encodes to UTF8 no matter how the input was formated:

    http://www.php.net/manual/en/function.utf8-encode.php#102382
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.039
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
10
Aktionen
Geteilt
0
Downloads
10
Kommentare
1
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • \n
  • \n
  • \n
  • \n
  • ABC hat 26 Zeichen, sollte langen!\n
  • Kleinbuchstaben auch noch\n
  • Zahlen!\n
  • Satzzeichen auch noch?\n
  • Steuerzeichen für Drucker etc.\n\nSch.... ganz schö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ür Drucker etc.\n\nSch.... ganz schö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ür Drucker etc.\n\nSch.... ganz schö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ür Drucker etc.\n\nSch.... ganz schö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ür Drucker etc.\n\nSch.... ganz schö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ür Drucker etc.\n\nSch.... ganz schö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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Schei. encoding

    1. 1. Schei� encodingCodierungen und ähnliches
    2. 2. Schei� encoding Codierungen und ähnlichesAndreas Heigl@heiglandreas
    3. 3. HistorischesAnfängeASCIIISOUnicode
    4. 4. AnfängeLochkartenKein Bedarf für „Schrift“
    5. 5. ASCIIAmerican Standard Code for InformationInterchange1963 entstanden7-Bit Zeichensatz (128 Zeichen)
    6. 6. ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F01234 A B C D E F G H I J K L M N O5 P Q R S T U VWX Y Z67
    7. 7. ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F01234 A B C D E F G H I J K L M N O5 P Q R S T U V W X Y Z6 a b c d e f g h i j k l m n o7 p q r s t u v w x y z
    8. 8. ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F0123 0 1 2 3 4 5 6 7 8 94 A B C D E F G H I J K L M N O5 P Q R S T U V W X Y Z6 a b c d e f g h i j k l m n o7 p q r s t u v w x y z
    9. 9. ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F012 ! ” # $ % & ’ ( ) * + , - . /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 O5 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 o7 p q r s t u v w x y z { | } ~ .
    10. 10. ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F012 ! ” # $ % & ’ ( ) * + , - . /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 O5 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 o7 p q r s t u v w x y z { | } ~ .
    11. 11. ISOInternational Standardisation OrganisationASCII-Kompatibel8-Bit Zeichensatz (256 Zeichen)
    12. 12. -1 Latin-1, Westeuropa -9 Latin-5, Türkisch-2 Latin-2, Mitteleuropa -10 Latin-6, Nordisch-3 Latin-3, Südeuropa -11 Thai-4 Latin-4, Nordeuropa -12 - nicht existent-5 Kyrillisch -13 Latin-7, Baltisch-6 Arabisch -14 Latin-8, Keltisch-7 Griechisch -15 Latin-9, Westeuropäisch-8 Hebräisch -16 Latin-10, Südosteuropäisch
    13. 13. ISO-8859-1 Latin-1, Westeuropa -9 Latin-5, Türkisch-2 Latin-2, Mitteleuropa -10 Latin-6, Nordisch-3 Latin-3, Südeuropa -11 Thai-4 Latin-4, Nordeuropa -12 - nicht existent-5 Kyrillisch -13 Latin-7, Baltisch-6 Arabisch -14 Latin-8, Keltisch-7 Griechisch -15 Latin-9, Westeuropäisch-8 Hebräisch -16 Latin-10, Südosteuropäisch
    14. 14. ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F012 ! ” # $ % & ’ ( ) * + , - . /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 O5 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 o7 p q r s t u v w x y z { | } ~ .
    15. 15. ISO-8859-1 0 1 2 3 4 5 6 7 8 9 A B C D E F89A nbsp ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ shy ® ¯B ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿C À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î ÏD Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ßE à á â ã ä å æ ç è é ê ë ì í î ïF ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
    16. 16. Andere CodierungenMacRomanWindowsLatin...
    17. 17. Unicode1991 (1988) entstandenMultibyte Zeichensatz (z.Zt. 1.114.112Zeichen)ASCII/ISO-8859-1 KompatibelUnterschiedliche Codierungen (UTF-8,UTF-16, UTF-32, EBCDIC, .... )
    18. 18. UnicodeU+0000 - U+10FFFFU+0000 - U+007F -> ASCIIU+0080 - U+00FF -> ISO-8859-1Verschiedene Codierungen möglich
    19. 19. UTF-32jedes Zeichen 4 Byte langEinfachSpeicherintensiv
    20. 20. UTF-16jedes Zeichen 2 Byte langEinfachCodiert nur die meistgenutzten Zeichen ausUnicodeNur Zeichen von U+0000 bis U+FFFF möglich.Big- oder LittleEndian?MacOS-X, Windows, Java, .Net
    21. 21. UTF-8jedes Zeichen zwischen 1 und 4 Byte langStreamsicher, da Start- und Folgezeichenunterschieden werdenAlle Unicode-Zeichen codierbar und noch viel mehr(bis zu 2^42 - 4.398.046.511.104)Platzsparend, da oft nur 1 Byte gespeichertwerden muss (Lateinische Schriften)Linux, IETF
    22. 22. UTF-8Startbyte 0xxxxxxx oder 11xxxxxxFolgebyte 10xxxxxx0xxxxxxx für 1-Byte-Zeichen1xxxxxxx für Mehr-Byte-Zeichen.Die Anzahl der 1 zeigt die Anzahl derGesamt-Byte an
    23. 23. UTF-800-7F ein Byte langes Zeichen (ASCII)80-BF 2., 3. oder 4. Byte einer mehrbyte-SequenzC2-DF Start einer 2 Byte langen SequenzE0-EF Start einer 3 Byte langen SequenzF0-F4 Start einer 4 Byte langen Sequenz
    24. 24. UTF-8 UTF-8 Binär Unicode Fehler U+0079y 0x79 01111001 01111001 0xC3 0xA4 11000011 U+00E4ä ä 10100100 11100100
    25. 25. Codierung und PHPPHP ist NICHT Unicode-sicherWarum ist das ein Problem?
    26. 26. Warum ist das ein Problem?Kein Problem wenn NUR EINE ISO-8859-Variantezum Einsatz kommt.Internationale SeitenMehrsprachige Texte (da langt schon eingriechisches Wort ...)Mehrbyte-Zeichen und strlen?Darstellung von einzelnen Zeichen eines MehrByte-Zeichens (z.B. ä statt ä)
    27. 27. Codierung und PHPmb_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_ciSET NAMES utf8 COLLATE utf8_unicode_cidefault_charset = UTF-8mb_string Funktionenmb-Reguläre Ausdrückeu-Modifikator für preg-RegEx
    28. 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) mittlesmbstring.overload = n
    29. 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. 30. MySQLServer [mysqld] default-collation=utf8_binClient character-set-server=utf8 collation-server=utf8_binVerbindung default-character-set=utf8Datenbank [client]Tabelle default-character-set=utf8
    31. 31. Client MySQL(UTF-8) Ü C3 9C Verbindung (ISO-8859-1) Ãœ C3 9C Server (UTF-8) Ãœ C3 83 C2 9C
    32. 32. Resourcenhttp://php.net/manual/de/mbstring.overload.phphttp://www.ibm.com/developerworks/library/os-php-unicode/index.htmlhttp://unicode.orgGoogle, Bing, Yahoo, .....
    33. 33. Fragen?

    ×