Always use UTF-8 for HTML if no content type is specified.
This commit is contained in:
parent
c563bb20e8
commit
e31781c69f
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
// HttpFx.php
|
// HttpFx.php
|
||||||
// Created: 2022-02-15
|
// Created: 2022-02-15
|
||||||
// Updated: 2023-11-09
|
// Updated: 2023-11-20
|
||||||
|
|
||||||
namespace Index\Http;
|
namespace Index\Http;
|
||||||
|
|
||||||
|
@ -126,14 +126,16 @@ class HttpFx implements IRouter {
|
||||||
$responseBuilder->setContent(new StringContent($result));
|
$responseBuilder->setContent(new StringContent($result));
|
||||||
|
|
||||||
if(!$responseBuilder->hasContentType()) {
|
if(!$responseBuilder->hasContentType()) {
|
||||||
$charset = strtolower(mb_preferred_mime_name(mb_detect_encoding($result)));
|
if(strtolower(substr($result, 0, 14)) === '<!doctype html')
|
||||||
|
$responseBuilder->setTypeHTML('utf-8');
|
||||||
|
else {
|
||||||
|
$charset = strtolower(mb_preferred_mime_name(mb_detect_encoding($result)));
|
||||||
|
|
||||||
if(strtolower(substr($result, 0, 5)) === '<?xml')
|
if(strtolower(substr($result, 0, 5)) === '<?xml')
|
||||||
$responseBuilder->setTypeXML($charset);
|
$responseBuilder->setTypeXML($charset);
|
||||||
elseif(strtolower(substr($result, 0, 14)) === '<!doctype html')
|
else
|
||||||
$responseBuilder->setTypeHTML($charset);
|
$responseBuilder->setTypePlain($charset);
|
||||||
else
|
}
|
||||||
$responseBuilder->setTypePlain($charset);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue