sql >> Database >  >> RDS >> Mysql

Unicode-tekens (Grieks) worden in de database opgeslagen, zoals ??????

Ik denk dat je nog een paar parameters moet toevoegen (useUnicode en characterEncoding ) wanneer u de verbinding maakt. De volgende code werkt voor mij:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;

public class GreekTestMain {

    public static void main(String[] args) {
        String connUrl = 
                "jdbc:mysql://192.168.1.3/greektest?" +
                "useUnicode=yes&characterEncoding=UTF-8" +
                "&user=root&password=obfuscated";
        try (Connection conn = DriverManager.getConnection(connUrl)) {
            String sql = "INSERT INTO `chars` (`value`) VALUES (?)";
            PreparedStatement pst = conn.prepareStatement(sql);
            pst.setString(1, "ασδασδ");
            pst.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace(System.err);
        }
    }

}



  1. hoe een specifiek veld (kolom) van een rij bij te werken met de auto-incrementwaarde van die rij met een of ander voorvoegsel in mysql?

  2. Selecteer verklaring uit meerdere tabellen, met variabele invoer

  3. MySql:als de waarde bestaat UPDATE anders INSERT

  4. Query retourneren in een rij-gewijs formaat in plaats van kolom