2012-12-10 49 views
1

我的問題是這樣的: 我用SQL Server數據庫創建了一個包含客戶數據的頁面。我的網頁是utf-8 ... 我所看到的:Django中的UTF-8,變音符號從SQL Server發出的數據不存在

編輯:這是不可能顯示影像時,如果我是一個新的用戶... ^^

在第一個「{{rows_1 }}「你可以看到W \ xe4denswil,但是到一個表中它不會被顯示。但爲什麼? 此外,它必須是Wädenswil(與德語變音符號)。我嘗試了很多東西,使用utf-8編寫原始代碼。我最後一次嘗試是這樣的:

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> 

我用win7 32bit,python 2.7.3,django 1.4.1,html5和css3

+0

編輯:變音(「A ,ö,ü「)從html本身顯示正確... – Nebros

+0

嘿,找到了一些解決方案? – doniyor

+0

抱歉doniyor,我是1個月了,但我現在添加答案... :) – Nebros

回答

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 =真

您必須添加...

相關問題