Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znaki Unicode (greckie) są przechowywane w bazie danych, takie jak ??????

Myślę, że wystarczy dodać kilka dodatkowych parametrów (useUnicode i characterEncoding ) podczas tworzenia połączenia. Poniższy kod działa dla mnie:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oblicz nadgodziny dziennie

  2. MySQL łączy i COUNT(*) z innej tabeli

  3. Wstawianie wielowymiarowej tablicy php do bazy danych mysql

  4. Oracle — błąd:„ORA-01400:nie można wstawić wartości NULL do”

  5. Pomóż edytować JSON, aby utworzyć tablicę, a nie „słownik”