0

問題があります。MS Access データベースからデータを取得して、ASP クラシック ページで csv ファイルを作成する必要があります。すべては非常に単純ですが、最終的なファイルには、四角形 (不明な文字の四角形) として表示される奇妙な文字が大量に含まれています。 )。私はそれらのキャラクターを取り除かなければなりませんが、どうすればいいのか本当にわかりません... 何かアイデアはありますか?

これは私がファイル上で何かを見る方法です:M�NSTERSTRA�Eそしてもちろん、どの文字が問題を引き起こしているのか本当にわかりません...そしてそれらは本当にたくさんあります.

そして、これは私がcsvを書く方法です...

dim fs,f,d
            set fs = Server.CreateObject("Scripting.FileSystemObject")
            set f = fs.OpenTextFile(Server.MapPath("clienti.csv"), 2, true,true)
            d = ""


            do while not rs1.EOF 


            d = ""
                For Each fField in RS1.Fields 
                    f.Write(d)
                    f.Write(" ")
                    temp = RS1(fField.Name)
                    if len(trim(temp)) > 0 then
                        f.Write(trim(temp))
                    end if
                    d = ";"    
                Next


            f.WriteLine("")


            rs1.movenext
            loop

            f.Close
            set f = Nothing
            set fs = Nothing

すべてのクライアントを抽出する前にそれらを知らないため、すべての文字を置き換えることは考えられません...これにはいくつかの回避策が必要です...

4

1 に答える 1

3

� は、ブラウザがその文字を認識しないため、代わりに使用することを意味します。1 つの例は、MS Word などの一部のアプリケーションがストレート クォートの代わりに使用する "スマート クォート" (カーリー クォート) です。デフォルトの文字エンコードは ISO-8859-1 です。

それらを表示したくない場合は、2 つの選択肢があります。それらを削除したり、適切な置換を見つけたりすることができます。

いずれにせよ、まず結果が � になるすべての文字を特定する必要があります。これを行うには、各文字を調べて、次のリストと比較する必要があります: http://www.ic.unicamp.br/~stolfi/EXPORT/www/ISO-8859-1-Encoding.html

悪い文字を特定したら、それを削除するか、どうあるべきかを理解したら、それらをあるべきものに変更することができます。たとえば、スマート クォートは 147 と 148 のようにコード化されているため、両方をストレート クォート (") に変更するだけです。これはあなたのために。

于 2013-06-14T18:55:14.377 に答える