解决方案 »

  1.   


    请参考: http://blog.csdn.net/mchdba/article/details/38322561
      

  2.   

    修改完字符集后,需要重启mysql数据库。
    4,再去修改数据库的字符集utf8mb4: 
    vim my.cnf
    init-connect='SET NAMES utf8mb4'
    character-set-server=utf8mb4重启mysql数据库
    [root@mysqlvm4 ~]# service mysql restart
    Shutting down MySQL....                                    [确定]
    Starting MySQL.............................................[确定]..
    [root@mysqlvm4 ~]# 
      

  3.   


    请参考: http://blog.csdn.net/mchdba/article/details/38322561[client]
    port            = 3306
    socket = /var/lib/mysql/mysql.sock
    default-character-set = utf8mb4[mysqld]
    datadir=/var/lib/mysql
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
    port=3306
    user=mysql
    socket=/var/lib/mysql/mysql.sock
    skip-external-locking
    max_connections = 1000
    key_buffer_size = 256M
    max_allowed_packet = 1M
    table_open_cache = 256
    sort_buffer_size = 1M
    read_buffer_size = 1M
    read_rnd_buffer_size = 4M
    myisam_sort_buffer_size = 64M
    thread_cache_size = 8
    query_cache_size= 16M
    # Try number of CPU's*2 for thread_concurrency
    thread_concurrency = 8
    symbolic-links=0log-bin=mysql-bin
    binlog_format=mixed
    server-id       = 1
    skip-name-resolve
    skip-name-resolve
    federated
    [mysqldump]
    quick
    max_allowed_packet = 16M[mysql]
    default-character-set = utf8mb4
    no-auto-rehash[myisamchk]
    key_buffer_size = 128M
    sort_buffer_size = 128M
    read_buffer = 2M
    write_buffer = 2M[mysqlhotcopy]
    interactive-timeout[mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    这是我的配置,这个常规修改都做了的 重启是肯定的 包括应用和数据库
      

  4.   


    请参考: http://blog.csdn.net/mchdba/article/details/38322561[client]
    port            = 3306
    socket = /var/lib/mysql/mysql.sock
    default-character-set = utf8mb4[mysqld]
    datadir=/var/lib/mysql
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
    port=3306
    user=mysql
    socket=/var/lib/mysql/mysql.sock
    skip-external-locking
    max_connections = 1000
    key_buffer_size = 256M
    max_allowed_packet = 1M
    table_open_cache = 256
    sort_buffer_size = 1M
    read_buffer_size = 1M
    read_rnd_buffer_size = 4M
    myisam_sort_buffer_size = 64M
    thread_cache_size = 8
    query_cache_size= 16M
    # Try number of CPU's*2 for thread_concurrency
    thread_concurrency = 8
    symbolic-links=0log-bin=mysql-bin
    binlog_format=mixed
    server-id       = 1
    skip-name-resolve
    skip-name-resolve
    federated
    [mysqldump]
    quick
    max_allowed_packet = 16M[mysql]
    default-character-set = utf8mb4
    no-auto-rehash[myisamchk]
    key_buffer_size = 128M
    sort_buffer_size = 128M
    read_buffer = 2M
    write_buffer = 2M[mysqlhotcopy]
    interactive-timeout[mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    这是我的配置,这个常规修改都做了的 重启是肯定的 包括应用和数据库character-set-client-handshake = FALSE
    collation-server = utf8mb4_unicode_ci
    这2个设置参数以去掉吧。
      

  5.   

    还有你表结构的字段是:`REMARKS` varchar(4000) COLLATE utf8mb4_bin DEFAULT NULL,改成 `REMARKS` varchar(4000) COLLATE utf8mb4 DEFAULT NULL,吧,为什么要设置成utf8mb4_bin?
      

  6.   

    也可以尝试下在建立连接的地方: jdbc:mysql://localhost:3306/uas?useUnicode=true&characterEncoding=utf8mb4
      

  7.   


    这种试过了, 问题找到了, 谢谢!
    collation-server = utf8mb4_unicode_ci
    把这个排序的配置去掉就可以了。
      

  8.   


    这种试过了, 问题找到了, 谢谢!
    collation-server = utf8mb4_unicode_ci
    把这个排序的配置去掉就可以了。排序的位置?是去掉my.cnf里面的这个配置参数吗?