Warum ist cp932
          erforderlich?
        
          In MySQL entspricht der Zeichensatz sjis
          dem von der IANA definierten Zeichensatz
          Shift_JIS, der JIS X0201- und JIS
          X0208-Zeichen unterstützt. (Siehe auch
          http://www.iana.org/assignments/character-sets.)
        
          Allerdings ist die Bedeutung von „SHIFT JIS“ als
          Begriff zu Beschreibungszwecken sehr vage geworden und umfasst
          häufig auch die Erweiterungen auf
          Shift_JIS, die von verschiedenen Anbietern
          definiert werden.
        
          So ist beispielsweise das in japanischsprachigen
          Windows-Umgebungen verwendete „SHIFT JIS“ eine
          Microsoft-Erweiterung von Shift_JIS, deren
          exakter Name Microsoft Windows Codepage :
          932 oder cp932 lautet. Neben den
          von Shift_JIS unterstützten Zeichen
          unterstützt cp932 Erweiterungszeichen wie
          NEC-Sonderzeichen, NEC-Auswahl-/IBM-Erweiterungszeichen sowie
          IBM-Auswahlzeichen.
        
Viele japanische Benutzer haben Probleme mit diesen Erweiterungszeichen. Ursache hierfür sind die folgenden Faktoren:
MySQL wandelt Zeichensätze automatisch um.
              Zeichensätze werden via Unicode (ucs2)
              konvertiert.
            
              Der Zeichensatz sjis unterstützt keine
              Konvertierung dieser Erweiterungszeichen.
            
Es gibt mehrere Regeln für die Konvertierung aus dem so genannten „SHIFT JIS“ in Unicode, und je nach Konvertierungsregeln werden einige Zeichen anders in Unicode konvertiert. MySQL unterstützt nur eine dieser Regeln (diese wird weiter unten beschrieben).
          Der MySQL-Zeichensatz cp932 wurde
          entwickelt, um diese Probleme zu beseitigen.
        
          Weil MySQL die Zeichensatzkonvertierung unterstützt, ist es
          wichtig, die beiden Zeichensätze Shift_JIS
          (IANA) und cp932 in zwei verschiedene
          Zeichensätze aufzuteilen, weil diese unterschiedliche
          Konvertierungsregeln bieten.
        
          Wie unterscheidet sich
          cp932 von
          sjis?
        
          Der Zeichensatz cp932 unterscheidet sich
          von sjis wie folgt:
        
              cp932 unterstützt NEC-Sonderzeichen,
              NEC-Auswahl-/IBM-Erweiterungszeichen sowie
              IBM-Auswahlzeichen.
            
              Einige cp932-Zeichen haben zwei
              verschiedene Codepunkte, die beide in denselben
              Unicode-Codepunkt konvertiert werden. Wenn Sie aus Unicode
              in cp932 zurückkonvertieren, muss
              einer dieser beiden Codepunkte ausgewählt werden. Bei
              solchen „Roundtrip-Konvertierungen“ wird die
              von Microsoft empfohlene Regel verwendet. (Siehe auch
              http://support.microsoft.com/kb/170559/EN-US/.)
            
Die Konvertierungsregel funktioniert wie folgt:
Wenn das Zeichen sowohl in JIS X 0208 als auch in den NEC-Sonderzeichen enthalten ist, wird der Codepunkt von JIS X 0208 verwendet.
Wenn das Zeichen sowohl in den NEC-Sonderzeichen als auch in den IBM-Auswahlzeichen enthalten ist, wird der Codepunkt für NEC-Sonderzeichen verwendet.
Wenn das Zeichen sowohl in den IBM-Auswahlzeichen als auch in den NEC-Auswahl-/IBM-Erweiterungszeichen enthalten ist, wird der Codepunkt für IBM-Erweiterungszeichen verwendet.
              Die unter
              http://www.microsoft.com/globaldev/reference/dbcs/932.htm
              gezeigte Tabelle enthält Informationen zu den
              Unicode-Werten der cp932-Zeichen. Bei
              cp932-Tabelleneinträgen mit Zeichen,
              unter denen eine vierstellige Zahl erscheint, stellt diese
              die entsprechende Unicode-Kodierung
              (ucs2) dar. Bei Tabelleneinträgen mit
              einem unterstrichenen zweistelligen Wert gibt es einen
              Bereich mit cp932-Zeichenwerten, die
              bei diesen beiden Stellen beginnen. Wenn Sie auf einen
              solchen Tabelleneintrag klicken, gelangen Sie auf eine
              Seite, auf der der Unicode-Wert für jedes
              cp932-Zeichen angezeigt wird, das mit
              diesen Stellen beginnt.
            
Die folgenden Links verdienen Ihr besonderes Interesse. Sie entsprechen den Kodierungen der folgenden Zeichenbestände:
NEC-Sonderzeichen:
http://www.microsoft.com/globaldev/reference/dbcs/932/932_87.htm
NEC-Auswahl-/IBM-Erweiterungszeichen:
http://www.microsoft.com/globaldev/reference/dbcs/932/932_ED.htm http://www.microsoft.com/globaldev/reference/dbcs/932/932_EE.htm
IBM-Auswahlzeichen:
http://www.microsoft.com/globaldev/reference/dbcs/932/932_FA.htm http://www.microsoft.com/globaldev/reference/dbcs/932/932_FB.htm http://www.microsoft.com/globaldev/reference/dbcs/932/932_FC.htm
              cp932 unterstützt die Konvertierung
              benutzerdefinierter Zeichen in Kombination mit
              eucjpms und beseitigt die Probleme bei
              der
              sjis-/ujis-Konvertierung.
              Weitere Informationen erhalten Sie unter
              http://www.opengroup.or.jp/jvc/cde/sjis-euc-e.html.
            
              Bei einigen Zeichen ist die Konvertierung von und nach
              ucs2 bei sjis und
              cp932 unterschiedlich. Die folgenden
              Tabellen veranschaulichen diese Unterschiede.
            
              Konvertierung nach ucs2:
            
| sjis-/cp932-Wert | Konvertierung sjisnachucs2 | Konvertierung cp932nachucs2 | 
| 5C | 005C | 005C | 
| 7E | 007E | 007E | 
| 815C | 2015 | 2015 | 
| 815F | 005C | FF3C | 
| 8160 | 301C | FF5E | 
| 8161 | 2016 | 2225 | 
| 817C | 2212 | FF0D | 
| 8191 | 00A2 | FFE0 | 
| 8192 | 00A3 | FFE1 | 
| 81CA | 00AC | FFE2 | 
              Konvertierung von ucs2:
            
| ucs2-Wert | Konvertierung ucs2nachsjis | Konvertierung ucs2nachcp932 | 
| 005C | 815F | 5C | 
| 007E | 7E | 7E | 
| 00A2 | 8191 | 3F | 
| 00A3 | 8192 | 3F | 
| 00AC | 81CA | 3F | 
| 2015 | 815C | 815C | 
| 2016 | 8161 | 3F | 
| 2212 | 817C | 3F | 
| 2225 | 3F | 8161 | 
| 301C | 8160 | 3F | 
| FF0D | 3F | 817C | 
| FF3C | 3F | 815F | 
| FF5E | 3F | 8160 | 
| FFE0 | 3F | 8191 | 
| FFE1 | 3F | 8192 | 
| FFE2 | 3F | 81CA | 
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

