1

私の問題はこれです:SQLServerデータベースから顧客データを含むページを作成しました。私のウェブページはutf-8です...私が見ることができるもの:

編集:私が新しいユーザーの場合、画像を表示することはできません... ^^

最初の「{{rows_1}}」にはW\xe4denswilが表示されますが、テーブルには表示されません。しかし、なぜ?さらに、それはヴェーデンスヴィル(ドイツ語ウムラウト付き)でなければなりません。utf-8を使用してrawを作成するために多くのことを試みました。私の最後の試みはこれでした:

rows_1 = unicode(cursor.fetchall()、'utf-8')

しかし、それは「Unicodeへの強制:文字列またはバッファが必要、リストが見つかりました」を意味します

これが私の使用したコードです(djangoからのビュー):

  conn = pyodbc.connect('DRIVER={SQL Server};CHARSET=UTF8;SERVER=MAURITIUS;DATABASE=baan5c;UID=portal;PWD=P0rtalReader')
    cursor = conn.cursor()
    cursor.execute("SELECT d.t_bpid, d.t_nama, a.t_namc, a.t_hono, a.t_pstc, a.t_name FROM ttccom100070 d, ttccom130070 a WHERE d.t_cadr = a.t_cadr AND (d.t_bpid = '%s')"%form)
    rows_1 = unicode(cursor.fetchall(), 'utf-8')

  return render_to_response('kundendaten.html', { 'rows_1': rows_1, 'rows_2': rows_2, 'rows_3': rows_3, 'current_date': now, 'form':form}, context_instance=RequestContext(request))

そしてここに私のhtml...:

<h2>Customer Data</h2>


{{ rows_1 }}
</fieldset>

<fieldset class= "field1">
<table border="1" class="name">
    <tr>
        <th colspan="6">Customer Overview</th>
    </tr>
    <tr>
        <th class="CUSCos">Customer Number</th>
        <th class="CUSNam">Name</th>
        <th class="CUSStr">Street</th>
        <th class="CUSNr">Number</th>
        <th class="CUSZip">Zip Code</th>
        <th class="CUSCit">City</th>
    </tr>
    {% for row in rows_1 %}
    <tr>
        <td>{{ row.0 }}</td>
        <td>{{ row.1 }}</td>
        <td>{{ row.2 }}</td>
        <td>{{ row.3 }}</td>
        <td>{{ row.4 }}</td>
        <td>{{ row.5 }}</td>
    </tr>
    {% endfor %}
</table>

私はwin732ビット、python 2.7.3、django 1.4.1、html5、css3を使用しています

4

1 に答える 1

0

私は解決策を見つけました。とても簡単でした。pyodbcにはそのための機能があるからです。正しい行は次のとおりです。

conn = pyodbc.connect('DRIVER = {SQL Server}; CHARSET = UTF8; SERVER =%s; DATABASE =%s; UID =%s; PWD =%s'%(x、y、w、p)、unicode_results = True)

その唯一のこれ:

、unicode_results = True

追加する必要があります...

于 2013-05-06T08:34:33.897 に答える