MySQL 中不正确的字符集和排序规则设置可能会导致数据显示问题,尤其是非英文字符。本指南提供了解决这些问题的解决方案。
要更改整个数据库的字符集和排序规则,请使用以下命令:
<code class="language-sql">ALTER DATABASE <database_name> CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;</code>
这会更新数据库中所有表和列的设置。
对于特定表,请使用以下命令:
<code class="language-sql">ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;</code>
这会将新设置应用于表中的所有列。
要更改单个列的排序规则,请使用 MODIFY
子句:
<code class="language-sql">ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;</code>
utf8mb4_0900_ai_ci
排序规则由以下部分组成:
utf8mb4
:4字节UTF-8编码(支持更广泛的字符)。_0900_
:MySQL 9.0 及更高版本的性能优化。_ai_ci
:不区分大小写和不区分重音的比较。进行这些更改后,之前的字符显示为“???”现在应该可以正确渲染。
以上是如何修复 MySQL 数据库中不正确的字符集和排序规则?的详细内容。更多信息请关注PHP中文网其他相关文章!