【问题标题】:MySQL query shows something like 0x8081 instead of special charactersMySQL 查询显示类似 0x8081 的内容,而不是特殊字符
【发布时间】:2021-11-10 12:29:42
【问题描述】:

当我运行SELECT CHAR(128,129,130,131,132,133,134,135,136,137);

我得到的是0x80818283848586878889 而不是Çüéâäàåçêë

有人知道为什么吗?

我正在使用字符集utf8mb4

当我运行show variables like '%char%'; 时,我得到了

+--------------------------------------+--------------------------------+
| Variable_name                        | Value                          |
+--------------------------------------+--------------------------------+
| character_set_client                 | utf8mb4                        |
| character_set_connection             | utf8mb4                        |
| character_set_database               | utf8mb4                        |
| character_set_filesystem             | binary                         |
| character_set_results                | utf8mb4                        |
| character_set_server                 | utf8mb4                        |
| character_set_system                 | utf8mb3                        |
| character_sets_dir                   | /usr/share/mysql-8.0/charsets/ |
| validate_password.special_char_count | 1                              |
+--------------------------------------+--------------------------------+

我使用的是 MySQL 8.0.26 版

【问题讨论】:

  • 尝试添加`USING utf8`。
  • @GiacomoCatenazzi 它不起作用。错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“USING utf8”附近使用正确的语法
  • 你是如何使用using utf8的?
  • @GiacomoCatenazzi 像这样:SELECT CHAR(128,129,130​​,131,132,133,134,135,136,137) USING utf8;
  • SELECT CHAR(128,129,130,131,132,133,134,135,136,137 USING utf8) USING 是 CHAR 的一部分

标签: mysql sql database character-encoding


【解决方案1】:

输出字符集是“DOS 西欧”

使用此查询,它将以字符集“DOS West European”显示文本

SELECT CHAR(128,129,130,131,132,133,134,135,136,137 using cp850)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多