タグ付けされた質問 「iso-8859-1」


8
HTMLエンコードの問題-「 」ではなく「Â」文字が表示される
なんらかの理由でわからないレガシーアプリが動作し始めました。ActivePDFによってPDFレポートに変換される一連のHTMLを生成します。 プロセスは次のように機能します。 置き換えられるトークンが含まれているDBからHTMLテンプレートをプルします(「〜CompanyName〜」、「〜CustomerName〜」など) トークンを実際のデータに置き換える HTMLタグの属性値をプロパティでフォーマットする単純な正規表現関数を使用してHTMLを整頓します(ActivePDFのレンダリングエンジンは属性値を一重引用符で囲んでいないため、引用符などを保証します)。 PDFを作成するWebサービスにHTMLを送信します。 その混乱のどこかに、HTMLテンプレート( s)からの改行しないスペースがISO-8859-1としてエンコードされているため、ブラウザー(FireFox)でドキュメントを表示すると、「Â」文字として誤って表示されます。これらの非UTF8文字でActivePDFの悪ふざけ。 私の質問:問題の原因がわからず、問題を調査する時間がないので、問題のある文字を再エンコードまたは検索して置き換える簡単な方法はありますか?私は一緒に投げたこの小さな関数を使って送信してみましたが、すべてをgobbledegookに変換しても何も変わりません。 Private Shared Function ConvertToUTF8(ByVal html As String) As String Dim isoEncoding As Encoding = Encoding.GetEncoding("iso-8859-1") Dim source As Byte() = isoEncoding.GetBytes(html) Return Encoding.UTF8.GetString(Encoding.Convert(isoEncoding, Encoding.UTF8, source)) End Function 何か案は? 編集: 私は今のところこれでうまくいきますが、それは良い解決策のようには思えません: Private Shared Function ReplaceNonASCIIChars(ByVal html As String) As String Return Regex.Replace(html, "[^\u0000-\u007F]", …

8
C#文字列をUTF-8からISO-8859-1(Latin1)に変換H
私はこのトピックについてグーグルで検索し、すべての回答を調べましたが、それでもまだわかりません。 基本的に、UTF-8文字列をISO-8859-1に変換する必要があり、次のコードを使用して変換します。 Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encoding utf8 = Encoding.UTF8; string msg = iso.GetString(utf8.GetBytes(Message)); 私のソース文字列は Message = "ÄäÖöÕõÜü" しかし、残念ながら私の結果文字列は msg = "Ã?äÃ?öÃ?õÃ?ü ここで何が間違っているのですか?
103 c#  .net  encoding  utf-8  iso-8859-1 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.