Mysql 是由";指定的Apache的utf-8字符集;AddDefaultCharset utf-8“;,是否为完整的utf-8?

Mysql 是由";指定的Apache的utf-8字符集;AddDefaultCharset utf-8“;,是否为完整的utf-8?,mysql,apache,unicode,utf-8,Mysql,Apache,Unicode,Utf 8,这是基于我的观察,对于mysql,默认字符集utf8有点误导,它不支持完全Unicode,因为它不能存储四字节UTF-8编码的字符。它实际上是utf8mb4字符集,它是完全Unicode(具有可变宽度) Apache的情况如何?如果我说“AddDefaultCharset utf-8”,它是指完整的Unicode,如用于mysql的utf8mb4,还是指utf-8的淡化版本,如mysql的utf8,它不支持可能的4mb空间 谢谢Apache不关心实际的响应主体内容;当您指定 AddDefault

这是基于我的观察,对于mysql,默认字符集utf8有点误导,它不支持完全Unicode,因为它不能存储四字节UTF-8编码的字符。它实际上是utf8mb4字符集,它是完全Unicode(具有可变宽度)

Apache的情况如何?如果我说“AddDefaultCharset utf-8”,它是指完整的Unicode,如用于mysql的utf8mb4,还是指utf-8的淡化版本,如mysql的utf8,它不支持可能的4mb空间


谢谢

Apache不关心实际的响应主体内容;当您指定

AddDefaultCharset utf-8

指令它只是添加了一个相应的
charset=utf-8
响应头。就是这样。

当然,响应标题会影响某些内容,否则它的目的是什么?另外,响应头所指的utf-8字符集是什么?@user只有一个utf-8字符集。MySQL及其非UTF-8UTF8是一个可悲的例外。正在设置的标题告诉浏览器以下内容的其余部分的编码方式。@user1796995:标题的目的是告诉客户端正文的编码方式。因此-数据按原样提供(正确生成数据是您的责任);接下来,正确处理它是客户的工作(正确处理它是客户(浏览器?)开发人员的责任)。阿帕奇没有失败的地方。@zerkms啊,我想我找到了。所以apache所做的只是告诉webclient这些数据是UTF-8,现在您可以完成您的工作并正确地处理它。所以如果我使用php,就是php用Utf-8对主体进行编码?不是阿帕奇。Apache只是告诉web客户端它是utf-8,web客户端(例如浏览器)必须适当地处理这个问题?我拿到了吗?