Heim  >  Artikel  >  Java  >  Lösung für verstümmelte Daten, die mit Java in MySQL eingefügt wurden

Lösung für verstümmelte Daten, die mit Java in MySQL eingefügt wurden

尚
Original
2019-11-30 11:15:262304Durchsuche

Lösung für verstümmelte Daten, die mit Java in MySQL eingefügt wurden

Methode 1: Einheitliche Kodierung festlegen

1. Stellen Sie die Eclipse-Umgebungskodierung ein ( empfohlen:Java-Video-Tutorial)

Lösung für verstümmelte Daten, die mit Java in MySQL eingefügt wurden

2. Legen Sie die MySQL-Umgebungskodierung

mydb als Datenbank fest das muss geändert werden Name

Lösung für verstümmelte Daten, die mit Java in MySQL eingefügt wurden

Methode 2: Legen Sie die Kodierung beim Erstellen der Datenbank fest

1. Legen Sie die Kodierung fest, wenn MySQL die Datenbank erstellt

create database mydb default character set utf8 collate utf8_general_ci;

2. Legen Sie die Kodierung fest, wenn Sie die Tabelle erstellen

CREATE TABLE `type` ( 
`id` int(10) unsigned NOT NULL auto_increment, 
`flag_deleted` enum('Y','N') character set utf8 NOT NULL default 'N', 
`flag_type` int(5) NOT NULL default '0', 
`type_name` varchar(50) character set utf8 NOT NULL default '', 
PRIMARY KEY (`id`) 
)  DEFAULT CHARSET=utf8;

Methode 3: Wird beim Herstellen einer Verbindung zur Datenbank festgelegt

Fügen Sie ?useUnicode=true&characterEncoding=UTF-8

public class TestJdbc {
    private static String URL = "jdbc:mysql://localhost:3306/studentmanage?useUnicode=true&characterEncoding=UTF-8";
    useUnicode=true&characterEncoding=UTF-8
    private static String USER = "root";
    private static String PASSWORD = "root";

    public static void main(String[] args) {
        Connection con = null;

        String sql = "insert into user(uid,uname,password) values(?,?,?)";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(URL, USER, PASSWORD);
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }

nach der URL hinzu, um das Kodierungs- und Dekodierungsformat anzugeben von Charakteren.

Zum Beispiel: Die MySQL-Datenbank verwendet die GBK-Kodierung, während die Projektdatenbank die UTF-8-Kodierung verwendet. Wenn zu diesem Zeitpunkt useUnicode=true&characterEncoding=UTF-8 hinzugefügt wird, hat der Effekt die folgenden zwei Aspekte:

Beim Speichern von Daten:

Die Datenbank verwendet beim Speichern von Projektdaten zunächst UTF-8 Das Format dekodiert die Daten in Bytecode und verwendet den dekodierten Bytecode dann erneut, um ihn mithilfe der GBK-Kodierung in der Datenbank zu speichern.

Beim Abrufen von Daten:

Beim Abrufen von Daten aus der Datenbank dekodiert die Datenbank zunächst die Daten in der Datenbank in Bytecode im GBK-Format und konvertiert dann die dekodierten Bytes. Der Code wird neu kodiert die Daten im UTF-8-Format und gibt die Daten schließlich an den Client zurück.

Weitere Java-Kenntnisse finden Sie in der Spalte Java Basic Tutorial.

Das obige ist der detaillierte Inhalt vonLösung für verstümmelte Daten, die mit Java in MySQL eingefügt wurden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn