【发布时间】:2018-02-09 11:31:52
【问题描述】:
当我从服务器导入一个 sql 文件时,我得到了奇怪的字符。我想相信它是编码。我正在写服务器 bd 和本地 bd 的值:
服务器:
collation_connection: utf8mb4_general_ci
collation_database: utf8_spanish_ci
collation_server: utf8_general_ci
character_set_client: utf8mb4
character_set_connection: utf8mb4
character_set_database: utf8
character_set_filesystem: binary
character_set_results: utf8mb4
character_set_server: utf8
character_set_system: utf8
character_sets_dir: C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\
本地
collation_connection: utf8mb4_general_ci
collation_database: latin1_swedish_ci
collation_server: latin1_swedish_ci
character_set_client: utf8mb4
character_set_connection: utf8mb4
character_set_database: latin1
character_set_filesystem: binary
character_set_results: utf8mb4
character_set_server: latin1
character_set_system: utf8
character_sets_dir: C:\xampp\mysql\share\charsets\
文件 SQL 导入包含此脚本:
CREATE DATABASE IF NOT EXISTS `prueba` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci */;
USE `prueba`;
CREATE TABLE IF NOT EXISTS `pruebaTable` (
`co_pruebaTable` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(100) COLLATE utf8_spanish_ci NOT NULL
PRIMARY KEY (`co_pruebaTable`)
) ENGINE=InnoDB AUTO_INCREMENT=418630 DEFAULT CHARSET=utf8
COLLATE=utf8_spanish_ci;
当我在本地导入数据库时,“pruebaTable”中的“name”列包含稀有字符,但在服务器数据库中我正确地看到了这些数据
我已尝试使用此查询更改此变量,但它不起作用:
set collation_database=utf8_spanish_ci;
有什么解决办法?导入此文件 sql.xml 时,我需要正确查看此数据。我用记事本++打开这个文件,我可以正确地看到数据。编码.sql是:UTF-8,所以问题应该是编码到本地数据库,我认为
谢谢
【问题讨论】:
标签: mysql encoding character-encoding localhost