提问人:Torbjörn Lundberg 提问时间:10/7/2023 更新时间:10/7/2023 访问量:26
在网页中使用 utf-8 无法正常工作 [重复]
Using utf-8 in an webpage isn't working properly [duplicate]
问:
我有一个在表上使用latin1_swedish_ci排序规则的 mysql 数据库。 我将在网页上展示这些数据。 我试图在显示结果的网页上使用 charset=utf8,但它给了我很多奇怪的字符,如?和其他代替瑞典语 å,ä,ö,chars。
我尝试使用不同的sql命令来更改要“打印”的数据。 结果都不好。(整理 f.e.)
我不是这个网站的原始编码员,字符集设置为 windows-1252。
它在使用此字符集 (windows-1252) 时有效,但每个本机字符 å,ä,ö 都需要在 html 代码中翻译/写为 å ,ä ö,才能使 html 代码中的字符串正确。
很多 ?使用 charset=utf-8 时
如果能得到一个解决方案,那就太好了。 要使latin1_swedish_ci mysql 表与使用 charset=utf-8 的网页一起工作,即。
在 sql 语句中使用 Collate。 像这个例子 选择 k latin1_german2_ci 作为 k1 从 T1 按 k1 订购;
答:
1赞
Vivick
10/7/2023
#1
在不同字符集之间进行转码的问题在于,这不是一个魔术。有些事情你不能做。但是,您可以简单地将整个数据库转码为更适合处理 UTF8 的 soemthing。
使用 WAMP(或简称为 PHPMyAdmin):
- 在左侧的资源管理器中选择数据库
- 单击“操作”选项卡
- 转到最底部并选择(或
utf8_unicode_ci
utf8mb4_unicode_ci
) - 选中所有表的选项
- 选中所有列的选项
- 执行
- 你已经准备好使用 utf8 了
否则,您可以按照如何在整个数据库中更改 CHARACTER SET(和 COLLATION?) 的答案中的说明进行操作,以获得纯 SQL 解决方案。
评论
0赞
Torbjörn Lundberg
10/8/2023
谢谢你的回答。我一直在考虑这个选项。以这种方式转置安全吗?没有数据损坏的风险?字符还会是瑞典语吗,包括 å、ä、ö 等?
0赞
Vivick
10/8/2023
如果需要,您可以随时在执行备份之前进行备份,还原字符集并整理更改,然后还原备份。因为它们在 unicode 表中,所以应该没问题。从有限的字符集到另一个不同的有限字符集时,您会遇到问题
0赞
Torbjörn Lundberg
10/8/2023
备份的好建议。这是必要的。有限的字符集是什么意思?这不是我的专长,但我热衷于更好地理解它。
0赞
Vivick
10/8/2023
Unicode 没有那么严格,但像 windows-1252 或 ASCII 这样的字符集在字符数量上非常有限
评论