美文网首页
mysql:Incorrect string value: &#

mysql:Incorrect string value: &#

作者: yiangdea | 来源:发表于2017-10-23 17:33 被阅读32次

    Mysql默认字符集:
    在Mysql的安装根目录下,my.ini中:

    # The default character set that will be used when a new schema or table is
    # created and no character set is defined
    default-character-set=utf-8
    
         安装时,默认的字符集是latin1.
        Mysql默认字符集,可以在安装时配置,也可以通过Mysql自带的MySQL Server Instance Config Wizard重新配置,配置后重启服务才可生效。
    

    终端登录mysql 后输入
    show variables like '%char%';

    可以显示该数据库连接使用的字符集的情况,
    你会发现,有几个字符集用的是.安装时,默认的字符集是latin1.
    或者其他不兼容中文的字符集

    如何设置默认编码为utf8

    1. 进入到/usr/local/mysql/support-files
      目录。里面有个文件:my-default.cnf

    有的系统环境或者最近新版的mysql环境里可能没有my-default.cnf,请直接进行2操作

    1. 改名为my.cnf, 其内容改为。
    # Example MySQL config file for small systems.
    #
    # This is for a system with little memory (<= 64M) where MySQL is only used
    # from time to time and it's important that the mysqld daemon
    # doesn't use much resources.
    #
    # MySQL programs look for option files in a set of
    # locations which depend on the deployment platform.
    # You can copy this option file to one of those
    # locations. For information about these locations, see:
    # http://dev.mysql.com/doc/mysql/en/option-files.html
    #
    # In this file, you can use all long options that a program supports.
    # If you want to know which options a program supports, run the program
    # with the "--help" option.
    
    # The following options will be passed to all MySQL clients
    [client]
    default-character-set=utf8
    #password   = your_password
    port        = 3306
    socket      = /tmp/mysql.sock
    
    # Here follows entries for some specific programs
    
    # The MySQL server
    [mysqld]
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci
    port        = 3306
    socket      = /tmp/mysql.sock
    skip-external-locking
    key_buffer_size = 16K
    max_allowed_packet = 1M
    table_open_cache = 4
    sort_buffer_size = 64K
    read_buffer_size = 256K
    read_rnd_buffer_size = 256K
    net_buffer_length = 2K
    thread_stack = 128K
    
    # Don't listen on a TCP/IP port at all. This can be a security enhancement,
    # if all processes that need to connect to mysqld run on the same host.
    # All interaction with mysqld must be made via Unix sockets or named pipes.
    # Note that using this option without enabling named pipes on Windows
    # (using the "enable-named-pipe" option) will render mysqld useless!
    #
    #skip-networking
    server-id   = 1
    
    # Uncomment the following if you want to log updates
    #log-bin=mysql-bin
    
    # binary logging format - mixed recommended
    #binlog_format=mixed
    
    # Causes updates to non-transactional engines using statement format to be
    # written directly to binary log. Before using this option make sure that
    # there are no dependencies between transactional and non-transactional
    # tables such as in the statement INSERT INTO t_myisam SELECT * FROM
    # t_innodb; otherwise, slaves may diverge from the master.
    #binlog_direct_non_transactional_updates=TRUE
    
    # Uncomment the following if you are using InnoDB tables
    #innodb_data_home_dir = /usr/local/mysql/data
    #innodb_data_file_path = ibdata1:10M:autoextend
    #innodb_log_group_home_dir = /usr/local/mysql/data
    # You can set .._buffer_pool_size up to 50 - 80 %
    # of RAM but beware of setting memory usage too high
    #innodb_buffer_pool_size = 16M
    #innodb_additional_mem_pool_size = 2M
    # Set .._log_file_size to 25 % of buffer pool size
    #innodb_log_file_size = 5M
    #innodb_log_buffer_size = 8M
    #innodb_flush_log_at_trx_commit = 1
    #innodb_lock_wait_timeout = 50
    
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash
    # Remove the next comment character if you are not familiar with SQL
    #safe-updates
    
    [myisamchk]
    key_buffer_size = 8M
    sort_buffer_size = 8M
    
    [mysqlhotcopy]
    interactive-timeout`
    
    1. 将修改后的文件my.cnf
      复制到 /etc 目录下。

    4.重启mysql服务

    终端登录mysql 后输入
    show variables like '%char%';
    查看一下字符集的使用情况

    使用 navicat 等图像管理工具,更改字符集

    更改数据库字符集 更改完成 更改表的字符集 更改表的默认字符集完成 更改字段的字符集

    参考: http://www.jianshu.com/p/362ca4b4e412

    相关文章

      网友评论

          本文标题:mysql:Incorrect string value: &#

          本文链接:https://www.haomeiwen.com/subject/couauxtx.html