这些字存在mysql5.7的版本中。编码是:utf8mb4 发现显示不出来。都是显示一个:𰕖 字符
这些字存在mysql5.7的版本中。编码是:utf8mb4 发现显示不出来。都是显示一个:𰕖 字符
这是mysql版本的问题还是编码的问题? 有什么方法能让它显示出来呢? 谢谢
数据库中已存在这些字了。只是不知道前台不认?
这个问题通常不是由MySQL版本或编码设置直接引起的,而是更可能与前台显示这些字符的应用程序的字体支持或字符集处理有关。
### 解决方案
1. **确认前台应用的字符集**:
确保前台应用程序(比如网页、桌面应用等)使用的字符集和MySQL中的字符集一致,即都使用`utf8mb4`。
2. **检查字体支持**:
如果前台是一个图形界面应用(如网页),确保所使用的字体支持这些特殊字符。有些字体可能不包含所有Unicode字符,尤其是非常规的汉字或特殊符号。
3. **检查HTML/CSS**:
如果前台是网页,检查HTML和CSS设置。确保没有CSS规则将这些字符隐藏或以某种方式改变其显示(如使用`text-indent: -9999px;`等技巧)。
4. **数据库连接字符集**:
确保数据库连接也使用了`utf8mb4`编码。在PHP中,你可以使用如下代码来设置连接字符集:
$mysqli = new mysqli("localhost", "user", "password", "database");
$mysqli->set_charset("utf8mb4");
5. **浏览器和操作系统支持**:
确保使用的浏览器和操作系统支持这些字符。虽然现代浏览器和操作系统通常支持广泛的Unicode字符集,但总是有可能遇到特定的不支持情况。
6. **数据库内容检查**:
使用MySQL客户端工具(如phpMyAdmin、MySQL Workbench等)直接查询数据库,看看这些字符在数据库中是否能正确显示。如果在这里也显示不正确(即也显示为`𰕖`),则可能是数据在插入时就已经被损坏或错误地编码了。
7. **调试和日志**:
如果可能,增加日志记录来追踪字符从数据库到前台的完整路径,看看在哪个环节出现了问题。
如果以上步骤都无法解决问题,可能需要更详细地检查应用程序的代码和配置,或者考虑是否存在其他未知的系统级问题。
6 回答4.7k 阅读✓ 已解决
4 回答13.2k 阅读✓ 已解决
5 回答7.7k 阅读✓ 已解决
12 回答5.8k 阅读
2 回答7.4k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
3 回答6.9k 阅读✓ 已解决
看起来像是特殊字符内容,而不是正常的文字内容,超出了当前使用的字体库符集编码范围。
👉 Unihan data for U+30556
前端显示的时候没有对应的字体内容就会显示成方框,所以你打开上面的链接其实也是看不到对应文字展示只会有一个方框。
比如说我们经常会使用 font-icon 来显示一部分的图标元素,在字体文件缺失对应内容的定义时就会显示这样的情况。
如果确实需要用直接文字的形式显示得定制字体包把对应的编码的内容都补齐。但是内容太多了应该不好实现。
可也以参考 倉頡之友 这个站,用图片的形式来展示。
30556
就能看到了。