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

MySQL查询中未显示用户名?

松昱
2023-03-14

我已经创建了users表。

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255),
  `email` varchar(255),
  `hashed_password` varchar(255) NOT NULL,
  `user_avator` varchar(2000) NOT NUL,
  `avator_type` VARCHAR(10) DEFAULT 'monsterid',
  `date` DATE NOT NULL,
  `time` TIME NOT NULL,
  PRIMARY KEY (`id`)
);

然后我创建了一个新的帐户前端网页。
我给出了:
用户名:°
帐户创建成功。
现在我可以通过我的用户名和密码登录。然后我可以清楚地看到我的用户名为°在网页。

但当我在终端中运行sql查询时:
从用户中选择用户名;
我得到的输出是:

+------------------------------------------------------------------------------------+
| username                                                                           |
+-----------------------------------Ê                                              |-+
+------------------------------------------------------------------------------------+

我无法看到我的用户名为°。但我可以通过网页登录。
为什么我不能在查询输出中看到我的用户名?

有些用户说我的终端编码有问题。

为了测试这一点,我运行echo'°'
输出为°
所以我想终端中的编码没有问题。

共有1个答案

唐钊
2023-03-14

您应该看看编码。

用户名°可能使用错误的编码方案存储在数据库中。这就是为什么使用更简单字符的用户名可以工作的原因。

当您将用户名插入数据库时,它将转换为配置的编码(如果需要)。然后,在显示在web上之前,将其转换为“原始”编码(如果需要)。例如:如果将字符ã和从UTF-8转换为iso-8859-1,则结果为::。现在,如果您将:从iso-8859-1转换为UTF-8,结果是:ã

要解决用户名问题,请确保正确配置了用户名列的编码,并且显示用户名的终端也正确配置了编码。

请注意,终端上未正确显示用户名并不一定是一个问题。正如您所说的,它在web上正常工作,因此终端只是没有以您期望的编码显示用户名。

 类似资料:
  • 我的数据库中只有大约16000个节点,当我匹配n返回n时,我从来没有得到任何图回来,任何原因或如何修复?

  • 本文向大家介绍MySQL查询显示多列的排名?,包括了MySQL查询显示多列的排名?的使用技巧和注意事项,需要的朋友参考一下 为此,请使用FIND_IN_SET()方法。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是显示多列等级的查询- 这将产生以下输出,显示基于标记和年龄的排名-

  • 问题内容: 我有一个数据库表看起来像这样 当我运行此查询时,应该不显示任何行,因为不存在具有value的行: SELECT * FROM tableName WHERE ID =‘101foo2’ 我得到的结果具有相同的ID,但没有单词 如果我的查询是如何显示具有ID的行 问题答案: 您正在混合类型。 是一个整数(或数字)。您正在将其与字符串进行比较。因此,MySQL需要确定用于比较的类型。使用什

  • 问题内容: 所以我创建了一个集成脚本,但是由于某种原因它没有显示出正确的结果。我的查询是 结果中出乎意料的一行之一是这个 ID为11的组具有display_style_priority 2000而不是5200。它应显示具有display_style_priority 5200的用户组ID。这是该用户所在的排名最高的组。有人可以指出我做错了什么。 问题答案: 尝试将GROUP BY更改为 其他大多数

  • 我正在使用GraphDB 8.9对我编写的一些软件进行基准测试,并希望通过JMX了解查询性能,如下所示:http://graphdb.ontotext.com/documentation/8.9/free/query-monitoring.html 虽然通过JControl访问SailIterationMonitor MBean并以编程方式运行良好,而且我可以访问TrackRecords属性,但我

  • 问题内容: 这是一个时间表,它的作用是显示前一天的时间表以及谁预定了每个时段(这是针对广播电台的。) 目前,它显示谁按时间顺序预订了每个时段,但是我想说每个结果旁边的时间。查询输出24行(从午夜到23:00),我想说的是每个插槽旁边的(00:00,01:00,02:00,03:00… 21:00,22 :00,依此类推。) 这是我当前的代码: 你能帮我吗? 问题答案: 我认为我们都在努力解决一个非