2016-11-13 1 views
0

최대 절전 모드를 통해 mySQL 데이터베이스와 대화하는 Spring 웹 응용 프로그램이 있습니다. utf8mb4를 데이터베이스 문자 인코딩으로 설정하려고합니다. 나는 다음과 같은 단계를 수행했습니다 :Openshift mySQL character_set_server utf8mb4

  1. 설정 내 데이터베이스가

    SET NAMES utf8mb4; 
    ALTER DATABASE mydb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci; 
    
  2. 를 사용하여 변경 최대 절전 모드 URL

    hibernate.connection.url = jdbc:mysql://localhost:myport/mydb?character_set_server=utf8mb4 
    
  3. 내 봄 응용 프로그램 구성
  4. 에 데이터베이스 연결 초기 SQL을에 SET NAMES 'utf8mb4' 추가
  5. character_set_server=utf8mb4을 my.cnf에 추가했습니다.

내 응용 프로그램이 로컬 데이터베이스에서 제대로 작동하도록 관리했습니다. 또한 내가 찾은 것은 2 단계가 필요하지 않고 4 단계없이 내 설정이 로컬에서 작동하지 않는다는 것입니다. 그러나 Openshift에서는 4 단계를 수행하는 방법을 찾지 못했습니다.이 문제에 대한 다른 해결책이 있습니까? phpMyAdmin 변수를 통해 character_set_server을 변경하려고 시도했으나 작동하지 않습니다.

+0

봄을 찾아 http://mysql.rjweb.org/doc.php/charcoll#other_computer_languages에있는 링크에 대한 –

+0

감사를 최대 절전 모드하지만 난 어떤 현상을 utf8mb4 – plato

+0

에 대한 내 문제에 대한 해결책을 찾기 위해 관리하지 않은 있다? 몇 가지 일반적인 문제와 솔루션을 보려면 http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored를 참조하십시오. –

답변

0

utf8mb4를 사용하도록 구성 할 수있는 또 다른 MySQL 카트리지가 있습니다. 데이터베이스에서 데이터를 백업하기 만하면됩니다. MySQL의 카트리지를 제거하고이 하나를 추가

https://github.com/amgohan/openshift-origin-cartridge-mysql-utf8mb4

을 그리고 마지막으로 새 데이터베이스로 백업을 복원합니다.

관련 문제