【问题标题】:MySQL: question marks instead of symbolsMySQL:问号而不是符号
【发布时间】:2018-12-21 05:13:24
【问题描述】:

我在 MariaDB 中创建了一个数据库,然后运行了一些 SQL 来创建表 像这样:

    create table customers
    ( customerid int unsigned not null auto_increment primary key,
      name char(50) not null,
      address char(100) not null,
      city char(30) not null
    );

    create table orders
    ( orderid int unsigned not null auto_increment primary key,
      customerid int unsigned not null,
      amount float(6,2),
      date date not null
    );

然后我尝试用一​​些数据填充它:

insert into customers values
  (3, "Саша Валентей", "12, ул. Гудвина", "г. Изумрудный"),
  (4, "Ева Легкая", "34, пр. Незнайки", "г. Солнечный"),
  (5, "Слава Моргунов", "56, пер. Поттера", "пгт Хогвартс");

insert into orders values
  (NULL, 3, 69.98, "2008-04-02"),
  (NULL, 1, 49.99, "2008-04-15"),
  (NULL, 2, 74.98, "2008-04-19"),
  (NULL, 3, 24.99, "2008-05-01");

这是西里尔文,如果这很重要的话。现在我的问号在哪里 字符应该是。我的服务器是 UTF-8 并且该表似乎是 latin_swedish_ci。我该如何解决这个问题?

【问题讨论】:

    标签: mysql sql encoding utf-8


    【解决方案1】:

    试试这个:

    ALTER TABLE customers CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    

    【讨论】:

    • 这将修复表格以供进一步使用西里尔文,但无法恢复已插入的数据。 (没有修复。)
    • 他为什么不直接删除然后重新插入数据?
    • 是的,这可能就是要做的事情。
    猜你喜欢
    • 2011-07-14
    • 2017-01-01
    • 2019-04-04
    • 2015-02-07
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多