ホームページ  >  記事  >  Java  >  Javaを使用してmysqlに挿入されたデータが文字化けする問題の解決策

Javaを使用してmysqlに挿入されたデータが文字化けする問題の解決策

尚
オリジナル
2019-11-30 11:15:262283ブラウズ

Javaを使用してmysqlに挿入されたデータが文字化けする問題の解決策

#方法 1: エンコーディングの均一性を設定する

1. Eclipse 環境のエンコーディングを設定します (推奨: java ビデオ チュートリアル )

Javaを使用してmysqlに挿入されたデータが文字化けする問題の解決策

2. mysql 環境エンコーディング

mydb をデータベースとして設定します。名前を変更する必要があります。


Javaを使用してmysqlに挿入されたデータが文字化けする問題の解決策

#方法 2: データベースの作成時にエンコードを設定します

1. mysql がデータベースを作成するときにエンコードを設定します

create database mydb default character set utf8 collate utf8_general_ci;

2. テーブルを作成するときにエンコードを設定します

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;

方法 3: データベース接続時に設定##URL の後に ?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();
        } 
    }

を追加します。追加の機能は次のとおりです。文字のエンコードおよびデコード形式を指定します。

例: mysql データベースは gbk エンコーディングを使用し、プロジェクト データベースは utf-8 エンコーディングを使用します。この時点で useUnicode=true&characterEncoding=UTF-8 を追加すると、次の 2 つの側面が影響します。

データを保存するとき:

データベースは、プロジェクト データを保存するときに最初に UTF-8 を使用します。この形式では、データをバイトコードにデコードし、デコードされたバイトコードを再利用して、GBK エンコードを使用してデータベースに保存します。

データを取得するとき:

データベースからデータを取得するとき、データベースはまずデータベース内のデータを GBK 形式のバイトコードにデコードし、次にデコードされたバイトを変換します。コードは再エンコードされます。データを UTF-8 形式で変換し、最終的にクライアントにデータを返します。

Java についてさらに詳しく知りたい場合は、

Java 基本チュートリアル

列に注目してください。

以上がJavaを使用してmysqlに挿入されたデータが文字化けする問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。