This applies to anyone using the following tools, untested in anything else.
PHP 8.3
MSSQL 2022
I realised I am late to the question BUT having struggled with this issue most of the day and the other answer does not work here is my fix in case anyone else hits the same brick wall as myself and comes across this question as I did.
The collation of my MSSQL Table was 'Latin1_General_CI_AS', this may work for other collations but I have not tested this.
Echoing the MSSQL result directly to a HTML page produced both the correct characters and ? in place of some irregular apostrophes and quotation marks.
Example: files don�t have printing
To fix this, I used this code (where $mytext is the text retrieved from the MSSQL query)
$mytext = mb_convert_encoding($mytext, 'UTF-8', 'CP1252');
Result: files don’t have printing
This converted the alternative characters, such as the apostrophe and quotation marks, to something that can be displayed in Chrome, Edge, Opera and Firefox.
Code explanation: mb_convert_encoding(TEXT_TO_CONVERT, TARGET_ENCODING, SOURCE_ENCODING);
Hopefully this helps someone in 2024.
Reference https://www.php.net/manual/en/function.mb-convert-encoding.php