如果这是相关的(很可能),它们是PHP源代码文件。
答案 0 :(得分:7)
有一些陷阱需要处理:
<?php header('Content-Type: text/html') ?>
没有触发警告,那么你没事。strlen
确实返回字符串中的字节数,而不是实际的字符数。在你开始使用像substr
之类的函数拼接非ASCII字符串之前,这不是太大的问题:当你这样做时,你传递给它的索引是指字节索引而不是字符索引,这可能会导致你的脚本将非ASCII字符分成两部分。例如,echo substr("é", 0, 1)
将返回无效的UTF-8字符,因为在UTF-8中,é
实际上需要两个字节,而substr将只返回第一个字节。 (解决方案是使用mb_
string functions,它们知道多字节编码。)SET CHARACTER SET UTF8
或这些行中的某些内容),或者如果您不能找到更好的方法,mb_convert_encoding
或iconv
会将一个字符串转换为另一种字符串。答案 1 :(得分:1)
实际上,通常建议您将所有来源保留为UTF8。具有拉丁字符的常规代码的大小无关紧要,但可以防止任何特殊字符出现故障。
答案 2 :(得分:0)
如果您在例如字符串值中使用任何特殊字符,则大小会稍微大一些,但这无关紧要。
然而我的建议是,始终保留默认格式。我花了这么多时间,因为格式化保存错误,所有字符都改变了。
从技术角度来看,没有区别!
答案 3 :(得分:-1)
非常相关,PHP解析器可能会开始输出虚假字符,就像一个时髦的无标记问号。坚持常态,更受欢迎。