当前位置: 首页 > 知识库问答 >
问题:

无法使用mysql的中文和日文字符

宿景曜
2023-03-14

我有一个名为chinese的表,它只有一列name
show变量如“char%”的输出是:

+--------------------------+--------------------------------------------------------+
| Variable_name            | Value                                                  |
+--------------------------+--------------------------------------------------------+
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | latin1                                                 |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | latin1                                                 |
| character_set_system     | utf8                                                   |
| character_sets_dir       | /usr/local/mysql-5.1.73-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+

当我运行此查询:insert INTO CHINESE VALUES('')时,将插入这些值。
但是,当我尝试执行此查询:select*FROM CHINESE时,结果是:

+------+
| NAME |
+------+
| ??   |
+------+

从中文中选择十六进制(名称)的结果为:

+-----------+
| HEX(NAME) |
+-----------+
| 3F3F      |
+-----------+

我哪里犯错了?

共有1个答案

司马萧迟
2023-03-14

如果MySQL>=5.5.3,则使用utf8mb4。

  1. 更改原始表
ALTER TABLE $tablename
  CONVERT TO CHARACTER SET utf8mb4 
  COLLATE utf8mb4_general_ci
CREATE TABLE $tablename (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE $tablename
    MODIFY $col1
    VARCHAR(191)
    CHARACTER SET utf8mb4;

参考:Mysql单据:列字符集转换

 类似资料:
  • 问题内容: Cookie是使用big5集编码的,因此无法插入MySQL。您能帮我解决这个问题吗? 字段:是eng,是日期,是汉字。 问题答案: 创建表时使用 UTF-8 。 插入表格时使用 UTF-8 阅读更多 和更多 详细代码 下面的代码是经过测试的代码,请执行以下工作。 如果您已经创建了数据库,请按以下代码更改它。如果没有创建数据库,则创建数据库并将Collat​​ion设置为utf8_uni

  • 问题内容: 我正在进行数据库迁移,并且我目前有一个带有日期的字符串列(相对于为它们设置了最佳的datetime字段)。有没有可以在MySQL中调用的函数将该字段转换为日期时间,以便可以使用该日期之前或之后的日期功能? 问题答案: 如果您的日期格式不正确,请使用:

  • 我想在java8中读取文本文件,我得到错误“类型不匹配:无法从FileReader转换到Reader”。如果我将Reader类更改为FileReader,则会出现错误“构造函数BufferedReader(FileReader)未定义”,我的语句是 请建议

  • 使用同步记录器记录到文件时,偶尔会出现稀有字符。请参阅下面的“^[[?1;2C^[[?1;2C”(1.2.17不发生这种情况)。 谢谢, 琼。

  • 问题内容: 我想知道如何在Hibernate查询语言中使用日期文字。我在JPA项目(作为Eclipselink提供程序)中做了如下操作,并且可以正常工作。 但是,当我将Hibernate(V 3.6.7)更改为我的JPA项目的提供程序时,这将不起作用。 问题答案: 该参考文档说: where子句中使用的表达式包括以下内容: […] SQL文字’foo’,69,6.66E + 2,‘1970-01-

  • 我正在尝试在itext 5中使用TextField。我的字体名是“微軟正黑體英文是“Microsoft JhengHei”。我想用粗体和黑色的字体。 初始化字体(3是字体。BOLD|字体。ITALIC和BC是我的基本颜色) 我有一个文本字段变量,并将fontZh设置为setFont。 pdf结果只有字体样式、大小和颜色是正确的。但这种大胆和不自然是行不通的。