Maison > Java > JavaBase > le corps du texte

Solution aux données tronquées insérées dans MySQL à l'aide de Java

Libérer: 2019-12-11 17:24:36
original
2284 Les gens l'ont consulté

Solution aux données tronquées insérées dans MySQL à l'aide de Java

Méthode 1 : Définir l'encodage unifié

1. Définir l'encodage de l'environnement Eclipse ( recommandé :tutoriel vidéo Java)

Solution aux données tronquées insérées dans MySQL à laide de Java

2. Définissez l'encodage de l'environnement MySQL

mydb comme base de données qui doit être modifié Nom

Solution aux données tronquées insérées dans MySQL à laide de Java

Méthode 2 : Définir l'encodage lors de la création de la base de données

1. Définissez l'encodage lorsque mysql crée la base de données

create database mydb default character set utf8 collate utf8_general_ci;
Copier après la connexion

2. Définissez l'encodage lors de la création de la table

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;
Copier après la connexion

Méthode 3 : Définir lors de la connexion à la base de données

Ajouter ?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();
        } 
    }
Copier après la connexion

après l'URL pour spécifier le format d'encodage et de décodage de personnages.

Par exemple : la base de données mysql utilise l'encodage gbk, tandis que la base de données du projet utilise l'encodage utf-8. Si useUnicode=true&characterEncoding=UTF-8 est ajouté à ce moment, l'effet a les deux aspects suivants :

Lors du stockage des données :

La base de données utilisera d'abord UTF-8 lors du stockage des données du projet . Le format décode les données en bytecode, puis réutilise le bytecode décodé pour le stocker dans la base de données à l'aide du codage GBK.

Lors de la récupération des données :

Lors de la récupération des données de la base de données, la base de données décodera d'abord les données de la base de données en bytecode au format GBK, puis convertira les octets décodés. Le code ré-encode les données au format UTF-8 et renvoie enfin les données au client.

Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!