![]() |
1
3
完全编码混乱!-) 表字符集mysql表字符集只决定mysql应该在内部使用什么编码,从而决定允许的字符范围。
连接字符集MySQL connection character set 确定在中接收表数据的编码(并应在中向mysql发送数据)。
页面字符集页面字符集,使用 Content-Type header ,告诉浏览器如何解释php脚本输出。
建议理想情况下,您应该在所有三个位置使用相同的编码,理想情况下,该编码应该是utf-8。 但是,csv将导致问题,因为文件格式不包括编码信息。因此,由应用程序来猜测编码,正如您所看到的,猜测将是错误的。
最好的办法是对csv文件使用拉丁语-1。不过,我仍然会在表和连接字符集中使用utf-8,在html页面中也会使用utf-8。
如果对连接字符集使用utf-8(通过执行
实体问题
这听起来像是在XML上下文中传递HTML代码,与字符集无关。试着把课文通读一遍 html_entity_decode . |
![]() |
2
0
另外,您设置了什么文档类型,是吗?
尝试使用 htmlentities() 函数处理任何未正确显示的文本。 您可能还想看看php Normalizer . |
![]() |
3
0
确保将csv文件编写为utf-8。见 http://www.php.net/manual/en/function.fwrite.php#55054 如果你不确定怎么做。 (另外,sql表应该使用utf8,而不是latin1) |
![]() |
4
0
由您决定将使用哪种字符集编码来编写csv文件(但是,请注意,这必须是您的一个简洁的决定)。 使用哪种字符集编码?csv没有定义字符集编码,所以我会选择一些unicode字符集,大概是utf8。但一些csv用户(如excel)可能并不满意它。如果您仅限于“西方”语言,那么Latin1或其变体(ISO-8859-1或ISO-8859-15)可能更合适。但是(无论如何,实际上)您必须考虑从用户输入到特定编码的转换,以及如果有无效字符该怎么办。 (顺便说一句:HTML输入到DB的转换也要考虑同样的问题——你在数据库中使用Latin1,你有没有问过自己,如果用户键入一个非Latin1字符会发生什么情况?例如日本煤焦?). |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |