Windows-1252文字を含むデータベースフィールドがいくつかあります。
an example pain— if you’re
これらの値は、このリストの目的の値にマップされます。
http://www.i18nqa.com/debug/utf8-debug.html
Htmlentites、mb_detect_encoding、uft8_decodeなどのさまざまな順列を試しましたが、これらの値を次のように変換することはまだできていません。
痛みの例—もしあなたが
これらの文字をphpにリストされている値に変換するにはどうすればよいですか?
なんてこった、これは解決するのに時間がかかりすぎたので、このリンクが検索で出続けたので、ここに私の答えを投稿したいと思います。私のMySQLDBテーブルにはutf8mb4_unicode_520_ciでエンコードされており、列にはそれらの厄介な作業中の引用符があります。 DB値を読み取ってjson_encodeでエンコードしようとしましたが、失敗し、json_encodeが空白を返すため、utf8_encodeを使用しました。それはキャラクターを不適切に変換しました。 Windows-1252からUTF-8に移行するには、mb_convert_encodingを使用する必要がありましたが、json_encodeもそれを台無しにしました。結局、これはうまくいきました:
$file = urlencode(mb_convert_encoding ($stringwithcurlyquotes, "UTF-8", 'Windows-1252'));
画像のURLに問題があったので、これは完全に機能し、反対側でデコードする必要はありませんでした。