php能否将所有字符集编码的字符串转换为utf8
php能否将所有字符集编码的字符串转换为utf8? 不起作用的解决方案:php能否将所有字符集编码的字符串转换为utf8,php,iconv,utf8-decode,Php,Iconv,Utf8 Decode,php能否将所有字符集编码的字符串转换为utf8? 不起作用的解决方案: utf8\u编码($string)-但它只将ISO-8859-1字符串编码为UTF-8 iconv($incharset,$outcharset,$text)-但如何找到当前编码的字符串? (仅当字符串是html dom文档的一部分时才可以,而不仅仅是字符串) 谢谢一般来说,您无法知道如何使用编码对给定字符串进行编码 你所能做的就是猜测。有mb\u detect\u编码,但实际上效果不好,还有一些更复杂的启发式方法,比如浏
utf8\u编码($string)
-但它只将ISO-8859-1字符串编码为UTF-8iconv($incharset,$outcharset,$text)
-但如何找到当前编码的字符串?
(仅当字符串是html dom文档的一部分时才可以,而不仅仅是字符串)谢谢一般来说,您无法知道如何使用编码对给定字符串进行编码
你所能做的就是猜测。有
mb\u detect\u编码
,但实际上效果不好,还有一些更复杂的启发式方法,比如浏览器使用的那些,它们使用语言提示。一般来说,您无法知道给定字符串的编码方式
你所能做的就是猜测。有
mb\u-detect\u编码
,但实际上效果不好,还有更复杂的启发式方法,比如浏览器使用的那些,它们使用语言提示。可以将字符串从iconv()
支持的任何编码转换为PHP中的UTF-8
但是如何找到当前编码的字符串呢
您永远不需要“查找”当前编码:您的脚本应该始终知道它是什么。如果正确编码,您查询的任何资源都将在内容类型
标题或通过其他方式为您提供编码
正如Artefactor所说,有可能使用
mb\u detect\u encoding()
,但这不是一种可靠的方法。程序的数据流应该始终定义字符串的编码方式(最好在内部使用UTF-8)——这就是方法 可以将字符串从iconv()
支持的任何编码转换为PHP中的UTF-8
但是如何找到当前编码的字符串呢
您永远不需要“查找”当前编码:您的脚本应该始终知道它是什么。如果正确编码,您查询的任何资源都将在内容类型
标题或通过其他方式为您提供编码
正如Artefactor所说,有可能使用
mb\u detect\u encoding()
,但这不是一种可靠的方法。程序的数据流应该始终定义字符串的编码方式(最好在内部使用UTF-8)——这就是方法 @Pekka。好奇的是,如果没有指定内容类型,我们应该假设它是什么编码,然后再使用什么编码?@Ben我想说仍然是ISO-8859-1,因为它的用户数量可能仍然是最多的。但是,如果服务器不返回任何字符集信息,这将是一个严重的配置错误。@Ben:mb\u detect\u编码可能会获得一些值,但它绝对不可靠。@Pekka&@Wrikken。谢谢你的意见。这两件事都要牢记在心。是的,这在服务器上可能是严重的配置错误,但有时在独立文本文件中也会发生。CP-1252经常被错误标记为ISO-8859-1。如果有疑问,最好使用mb\u detect\u编码
来区分这两者。@Pekka。好奇的是,如果没有指定内容类型,我们应该假设它是什么编码,然后再使用什么编码?@Ben我想说仍然是ISO-8859-1,因为它的用户数量可能仍然是最多的。但是,如果服务器不返回任何字符集信息,这将是一个严重的配置错误。@Ben:mb\u detect\u编码可能会获得一些值,但它绝对不可靠。@Pekka&@Wrikken。谢谢你的意见。这两件事都要牢记在心。是的,这在服务器上可能是严重的配置错误,但有时在独立文本文件中也会发生。CP-1252经常被错误标记为ISO-8859-1。如果有疑问,最好使用mb\u detect\u编码
来区分这两者。