試してみるべきことがいくつかあります。
1) DB の文字エンコーディングを正確に検証できますか?最も幅広い文字を処理する必要があるため、すべてに UTF8 をお勧めします。 「ASCIIASCII」は、私の知る限り、文字エンコードではありません。「ASCII」のことですか?
2) mysql_set_charset('utf8');
を使用してみてください dbエンコーディングに一致するように文字セットを変更します。 「現在の接続のデフォルトの文字セットを設定します。」現在のphpスクリプト内から。 PHP 公式ドキュメント
3) これは外れ値ですが、結果をどこで見ていますか? DB から返されたデータとは関係なく、Web ブラウザーで結果を表示している場合、これがデータベースから返された文字セットからのミスマッチである場合、ページのヘッドに適切なチャーター エンコーディング セットがあることを確認する必要があります。疑問符やひし形が表示される可能性があります...通常は次のようなものです
<head>
<title>page title</title>
<meta charset="UTF-8" />
</head>