Codierungsausnahme: „Falscher Zeichenfolgenwert“ mit Emojis in Java-MySQL
In einer Java-Anwendung, die MySQL verwendet, wurde eine Ausnahme „java. sql.SQLException: Falscher Zeichenfolgenwert: 'xF0x9Fx91xBDxF0x9F...'“ kann sein Tritt beim Einfügen einer Zeichenfolge auf, die Emoji-Zeichen enthält. Dieser Fehler tritt aufgrund von Unterschieden in der Zeichenkodierung auf.
Der betreffende Zeichenfolgenwert enthält „walmart obama ??“, wobei „???“ stellt Emojis dar. In der Datenbank ist die Variable, in die die Zeichenfolge eingefügt wird, als varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL definiert. Die von der Anwendung verwendete MySQL-Version unterstützt jedoch nur grundlegende BMP-Zeichen (Multilingual Plane) in UTF-8-Kodierung. Emoji-Zeichen, die außerhalb des BMP liegen, können in dieser Kodierung nicht richtig dargestellt werden.
Um das Problem zu beheben, muss auf die UTF-8mb4-Kodierung umgestellt werden, die zusätzliche Zeichen unterstützt. Dazu müssen folgende Anpassungen vorgenommen werden:
Von Wenn Sie diese Änderungen vornehmen, kann Ihre Anwendung Emoji-Zeichen mithilfe der UTF-8mb4-Kodierung ordnungsgemäß verarbeiten und die Ausnahme „Falscher Zeichenfolgenwert“ beheben.
Das obige ist der detaillierte Inhalt vonWie behebe ich Fehler beim Einfügen von Emojis in eine MySQL-Datenbank in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!