2011-10-26 6 views
0

xmlドキュメントをUTF-8としてエンコードする必要があることを示すテキストファイルとして生成しました。スキーマの遵守をチェックすると、ファイルに不正な文字があることが報告されます。文字列をあるエンコーディングから別のエンコーディングに変換する

An invalid character was found in text content. 

疑わしい文字の1バイトの値は0x92です。

ビジュアルベーシックでは、変数domのタイプがDOMDocument60です。以下を実行してください。

Set nod = dom.createElement("dc.description") 
nod.text = Trim$(Nz(rs!mDescription, "")) 

これはエラーの原因です。疑わしい文字をutf-8に適切にエンコードするために文字セット変換を行う必要があるという気持ちがあります。

私がしているしている具体的な質問:

1)どのような文字セット私の出発点ですか?文字列がAccess-2010データベース(Memoタイプ)から来ています

2)どうすればUTF-8に変換できますか?

私はこれを行う方法を失っています。私はVBAに慣れていません。

答えて

0

悲しみの原因となる文字は、スマート引用符または中かっことして知られています。 '

この問題はAccess/VBAで対処する方法を見つけなければならないという事実以外のAccess関連の問題ではありません。何らかの理由でXMLに無効なXML文字が含まれています。

私は2つの選択肢が考えられます。最初のオプションは、文字を標準の非スマート引用符で置き換えることです。

Replace(Replace(Replace(Replace(MyString, Chr(147), Chr(34)), Chr(148), Chr(34)), Chr(145), Chr(39)), Chr(146), Chr(39)) 

目のオプションは、適切なXML/HTMLの文字コードで、あなたが実際にそれらをしたいと仮定すると、問題のある文字を置き換えるある:ここではすぐに一度に4つの異なる可能なスマート引用符のすべてを置き換えるために、いくつかの非エレガントなコードです、あなたが問題を抱えている特定の文字のために、これは:

’ 

あなたはそれが最初から有効な文字で保存されているように、あなたの着信データに置き換える実行することを検討するかもしれません。

+0

ありがとうHK1。私はあなたに2番目の提案を使用しました。私はまた、UTF-8の一部ではないいくつかの文字を持っていて、それを適切に変換しました。私は何が問題だったかを見ていただきありがとうございます。非常に役立ちます。 –

関連する問題