RSS フィードを Tumblr から Kynetx アプリにインポートしています。アポストロフィが次のように表示されるため、RSS フィードにエンコードの問題があるようです。
フィード (ここにあります) は、UTF-8 でエンコードされていると主張しています。
エンコーディングを指定する方法や、それらの文字を通常のアポストロフィに置き換える方法はありますか?
RSS フィードを Tumblr から Kynetx アプリにインポートしています。アポストロフィが次のように表示されるため、RSS フィードにエンコードの問題があるようです。
フィード (ここにあります) は、UTF-8 でエンコードされていると主張しています。
エンコーディングを指定する方法や、それらの文字を通常のアポストロフィに置き換える方法はありますか?
最適ではありませんが、これらのエンコーディングをキャッチして、UTF-8 標準に置き換えることができます。
newstring = oldstring.replace(re/’/\'/);
これは、UTF-8 を指定しているが明示的に強制していないサービスのケースのようです。ご提供いただいた RSS フィードの画像をアップロードしました。比較のために、テキストを切り取ってメモ帳に貼り付け、キーボードから同じテキストを入力しました。
画像からわかるかどうかわかりませんが、マングルされたアポストロフィは、私の UTF-8 ブラウザーによって生成されたアポストロフィとは異なります。
この投稿は Windows クライアント経由で送信されたものと思われます。エンコーディング オプションを見ると、Western ( Windows-1252 ) のオプションが表示されます。
Windows-1252 は、ISO 8859-1 に似た Windows のレガシー エンコーディングですが、ANSI 標準の制御文字を独自の文字の一部に置き換え、他のコードページの位置を変更します。
上で引用したウィキペディアのページからいくつか引用します。
文字セット ラベル ISO-8859-1 を使用して、Windows-1252 テキスト データに誤ったラベルを付けることは非常に一般的です。多くの Web ブラウザと電子メール クライアントは、MIME 文字セット ISO-8859-1 を Windows-1252 文字として扱い、このような誤表示に対応しています。
Word などの多くの Microsoft プログラムは、標準の ASCII 文字が入力されると、Windows-1252 文字を自動的に置き換えます。たとえば、「スマート クォート」 (たとえば、短縮形のアポストロフィを ' に置き換える) や、3 文字の '(c) を © に置き換えるなどです。 '。
KRL は、UTF-8 でサポートされているすべての言語文字セットをサポートしているため、マルチバイトの国際文字をネイティブにサポートしています。ただし、これには、ISO-8859-1 または Windows-1252 しか選択できない場合に可能なエンコーディングをごまかすことができるという犠牲が伴います。