This article mainly introduces the MySQL green version setting encoding and 1067 error related information. Friends in need can refer to
MySQL green version setting encoding and 1067 error
View MySQL encoding
SHOW VARIABLES LIKE 'char%';
Because the character set was specified as UTF8 during the original installation, all encodings are UTF8.
character_set_client: The data you send must be consistent with the encoding specified by the client! ! ! The server will use this encoding to interpret the data sent by the client;
character_set_connection: This encoding is consistent with the client! This encoding will not cause garbled characters! When executing a query statement, the data sent by the client will first be converted into the encoding specified by the connection. But as long as the data sent by the client is consistent with the encoding specified by the client, then there will be no problem with the conversion;
character_set_database: the default encoding of the database, when creating the database, if no encoding is specified , then database encoding is used by default;
character_set_server: MySQL server default encoding;
character_set_results: response encoding, that is, the query results are returned to the client end encoding. This shows that the client must use the encoding specified by result to decode;
修改character_set_client、character_set_results、character_set_connection为GBK, 就不会出现乱码了。但其实只需要修改character_set_client和character_set_results。
The encoding of the console can only be GBK and cannot be modified to UTF8. Here comes a problem. The data sent by the client is GBK, and character_set_client is UTF8, which means that the client data will definitely be garbled when it reaches the server. Since the encoding of the console cannot be modified, the only option is to modify character_set_client to GBK.
The data sent by the server to the client is encoded as character_set_result. If it is UTF8, garbled characters will definitely appear if the console uses GBK decoding. Because the console encoding cannot be modified, character_set_result can only be modified to GBK.
Fill in this sentence:
The following is the overall configuration:
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] basedir = H:\MySQL datadir = H:\MySQL\data character_set_server = utf8 # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. # basedir = ..... # datadir = ..... # port = ..... # server_id = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [client] port=3306 default-character-set = gbk
1067 error
Be careful not to write the wrong configuration in my.ini. In fact, many of our 1067 errors are caused by misconfiguration in my.ini.
Note:
In windows10, actually set default-character-set = utf8, and then operate in cmd without garbled characters. But it will be garbled in windows8.1 and windows7. Therefore, in windows8.1 and windows7, default-character-set = gbk must be set to gbk
The above is the detailed content of MySQL green version setting encoding and detailed explanation of 1067 error. For more information, please follow other related articles on the PHP Chinese website!