Match the output character set with the table's character set or convert the character set from the table with the character set you want to output.
Assuming the table uses US-ASCII to store data and we want to output it as UTF-8.
$content = iconv( 'US-ASCII', 'UTF-8//IGNORE//TRANSLIT', $content );
echo $content;
This will transliterate certain characters EG: € to EUR, and ignore/drop characters that are not known to the output character set.
If you are using Latin-1-General encoding in the table try CP850 (AKA: Code Page 850, MSDOS Latin-1) as opposed to US-ASCII.
http://us2.php.net/manual/en/function.iconv.php
You can optionally cast your encoding from within your query to the table
For example with mysql
SELECT convert(cast(convert(content using latin1) as binary) using utf8) AS content
MySQL - Convert latin1 characters on a UTF8 table into UTF8
This is useful if the data sent to the database was using a different character set than the table. For example sending ASCII or ISO-8859-1 data to a table/column using UTF-8 collation.
To find out the tables character encoding try:
SHOW CREATE TABLE `tablename`;
or How do I see what character set a MySQL database / table / column is?
For table encoding:
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = "schemaname"
AND T.table_name = "tablename";
For column encoding:
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "schemaname"
AND table_name = "tablename"
AND column_name = "columnname";
Alternatively you can try changing the charset header in PHP to match the database table's output.
header("Content-Type: application/rtf; charset=ISO-8859-1;");