總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。

2016年8月29日 星期一

【RIDE】從DB擷取中文字變成亂碼

有一個Table表,用三個欄位來實驗
{item_code}←定義varchar←儲存
{item_name_zh_tw}←定義nvarchar←儲存
{loinc_code}←定義varchar←儲存文 

*** Test Cases ***
Test DB zh-tw
    Connect Database
    ${Query_test}=    Set Variable    select item_code, item_name_zh_tw, loinc_code from Basic_CheckItem order by loinc_code desc
    ${Result_test}    Query    ${Query_test}
    ${A}    Convert To String    ${Result_test[0]}   #輸出(u'aaa111', u'\u4e8c\u4e8c\u4e8c', u'\xa4@\xa4@\xa4@\xa4@\xa4@')
    ${B}    Convert To String    ${Result_test[0][0]}#輸出aaa111
    ${C}    Convert To String    ${Result_test[0][1]}#輸出二二二
    ${D}    Convert To String    ${Result_test[0][2]}#輸出¤@¤@¤@¤@¤@
 
【方法一:從DML將欄位轉為nvarchar】
*** Test Cases ***
Test DB zh-tw
    Connect Database
    ${Query_test}=    Set Variable    select item_code, item_name_zh_tw, CAST(loinc_code AS NVARCHAR(MAX)) from Basic_CheckItem order by loinc_code desc
    ${Result_test}    Query    ${Query_test}
    ${A}    Convert To String    ${Result_test[0]}   #輸出(u'aaa111', u'\u4e8c\u4e8c\u4e8c', u'\u4e00\u4e00\u4e00\u4e00\u4e00')
    ${B}    Convert To String    ${Result_test[0][0]}#輸出aaa111
    ${C}    Convert To String    ${Result_test[0][1]}#輸出二二二
    ${D}    Convert To String    ${Result_test[0][2]}#輸出一一一一一

【方法二:改底層文件+update tool】 
 [步驟一] 編輯C:\Python27\Lib\site-packages\robot\utils\encodingsniffer.py
將DEFAULT_SYSTEM_ENCODING = 'cp1252'改為DEFAULT_SYSTEM_ENCODING = 'cp950' 存檔關閉 [步驟二]  RIDE非開啟時 以系統管理員身分執行命令提示字元
[步驟三] 重開機  

沒有留言:

張貼留言