ロゴ:EPSON
ロゴ:よくあるご質問(FAQ)

製品別
質問別

URLをクリップボードにコピーしました
シェア用URL:https://faq2.epson.jp/web/Detail.aspx?id=33904
  FAQ番号:33904
全角文字を含む印字が Schema Error になる<ePOS-Print XML>
ePOS-PrintXML で Windows アプリケーションからプリンターへ全角文字を含む印字をおこなったところ、プリンターから Schema Error が返される。
 
 

原因

プリンターへ送信する XML の文字コードが HTTP ヘッダーで指定しているキャラセットと合わない場合に発生します。
UploadStringAsync メソッドは指定された文字列 ( XML ) をアップロード ( プリンターへ送信 ) する前に、 WebClient.Encoding プロパティに設定されている値の文字コードへ文字列の Byte 配列変換をおこなっています。

ePOS-Print XML サンプルプログラム Version 3.1.1J 以降に含まれる Windows アプリケーションで対策内容が確認できます。

 

対策

プログラムのソースファイルを「UTF-8」で保存して WebClient.Encoding プロパティに System.Text.Encoding.UTF8 を指定してください。


Microsoft Visual Studio 2010 でソースファイルを「UTF-8」で保存する例
  1. ソリューション エクスプローラーで対象ファイルをダブルクリックします。
  2. [ファイル] メニューの [名前を付けて {対象ファイル} を保存] をクリックします。
  3. 表示されたウィンドウの [保存] または [上書き保存] ボタンの横の [ドロップダウン ボタン] をクリックします。
  4. [保存オプションの詳細設定] が表示されます。
  5. [エンコード]Unicode (UTF-8シグネチャ付き) ... を選択します。
  6. [OK] ボタンを押します。


WebClient.Encoding プロパティに System.Text.Encoding.UTF8 を指定する例 : Visual Basic .NET
    Dim client As WebClient = New WebClient()
    client.Encoding = System.Text.Encoding.UTF8  '指定箇所
    client.Headers.Set("Content-Type", "text/xml; charset=utf-8")
    AddHandler client.UploadStringCompleted, AddressOf UploadStringCompletedEventHandler
    client.UploadStringAsync(New Uri(address, UriKind.Absolute), req.ToString())
スマートレシートプリンター TM-L90-i,TM-T70-i,TM-T88V-i
モバイルプリンター TM-P20,TM-P60II
TMシリーズ TM-T70II,TM-T88V,TM-T90II
FAQ改善アンケート

このページの評価をお聞かせください。〇✖をお選びください。

 

■役に立った
■役に立たなかった