Biểu tượng unicode python

Tôi cũng bắt gặp một kịch bản cũ giải quyết vấn đề tương tự trong 9. 3. nhưng mặc dù tôi đã sửa đổi nhưng tôi không thể chạy nó trong arcgis10. Tôi liên tục gặp lỗi cho biết đối tượng 'Kết quả' không có thuộc tính 'GetOutput'

# Simple script for conversion of Vietnamese encoding
import arcpy
from arcpy import env
import os
import string
import csv
arcpy.env.overwriteOutput = True

def Convert[str,s,d]:
    global _Unicode, _TCVN3, _KhongDau
    result = u''
    for c in str:
        idx = s.find[c]
        if idx >= 0:
            c = d[idx]
        result += c
    return result
# Array of characters [Using Tuple instead of List]
_Unicode = [
    #'�??�??�?�?�??�??�??�?ª�?Š�??�??�??�??�??�??'
    u'â�?�?�?�?Đê�?ô�?ơƠưƯ'
    #u'\xe2\xc2\u0103\u0102\u0111\u0110\xea\xca\xf4\xd4\u01a1\u01a0\u01b0\u01af'
    #'�??�??�??�??áº?áº?�??�?�?áº?áº?áº?áº?áº?áº?áº?áº?áº?Ẫáº?áº?áº?áº?áº?áº?áº?áº?ẵáº?áº?áº?'
    u'áÁà�?ảẢã�?ạẠấẤầẦẩẨẫẪậẬắẮằẰẳẲẵẴặẶ'
    #u'\xe1\xc1\xe0\xc0\u1ea3\u1ea2\xe3\xc3\u1ea1\u1ea0\u1ea5\u1ea4\u1ea7\u1ea6\u1ea9\u1ea8\u1eab\u1eaa\u1ead\u1eac\u1eaf\u1eae\u1eb1\u1eb0\u1eb3\u1eb2\u1eb5\u1eb4\u1eb7\u1eb6'
    #'�??�??�??�??áº?Ẻáº?áº?áº?áº?áº?áº?á??á??á?�?á??á??á??á??á??�??�??�??�?�?á??á??�??�??á??á?Š'
    u'é�?è�?ẻẺẽẼẹẸếẾề�?�?�?�?�?�?�?íÍì�?�?�?ĩĨ�?�?'
    #u'\xe9\xc9\xe8\xc8\u1ebb\u1eba\u1ebd\u1ebc\u1eb9\u1eb8\u1ebf\u1ebe\u1ec1\u1ec0\u1ec3\u1ec2\u1ec5\u1ec4\u1ec7\u1ec6\xed\xcd\xec\xcc\u1ec9\u1ec8\u0129\u0128\u1ecb\u1eca'
    #'�??�??�??�??á??á?Ž�?µ�??á??á?�?á??á??á??á??á??á??á??á??á??á??á??á?šá??á?�?á?Ÿá?žá??á??á??á??'
    u'ó�?ò�?ỏ�?õ�?ọ�?�?Ố�?�?�?�?�?�?�?�?�?�?ờ�?�?�?ỡỠợỢ'
    #u'\xf3\xd3\xf2\xd2\u1ecf\u1ece\xf5\xd5\u1ecd\u1ecc\u1ed1\u1ed0\u1ed3\u1ed2\u1ed5\u1ed4\u1ed7\u1ed6\u1ed9\u1ed8\u1edb\u1eda\u1edd\u1edc\u1edf\u1ede\u1ee1\u1ee0\u1ee3\u1ee2'
    #'�?º�?š�??�??á??á??�??�??á??á??á??á??á??á?ªá??á??á??á??á??á??á??á??á??á??á??á??á?µá??�??�??'
    u'ú�?ù�?ủỦũŨụỤứỨừỪửỬữỮựỰỳỲỷỶỹỸỵỴýÝ'
    #u'\xfa\xda\xf9\xd9\u1ee7\u1ee6\u0169\u0168\u1ee5\u1ee4\u1ee9\u1ee8\u1eeb\u1eea\u1eed\u1eec\u1eef\u1eee\u1ef1\u1ef0\u1ef3\u1ef2\u1ef7\u1ef6\u1ef9\u1ef8\u1ef5\u1ef4\xfd\xdd'
]
_KhongDau = [
    u'aAaAdDeEoOoOuU'
    u'aAaAaAaAaAaAaAaAaAaAaAaAaAaAaA'
    u'eEeEeEeEeEeEeEeEeEeEiIiIiIiIiI'
    u'oOoOoOoOoOoOoOoOoOoOoOoOoOoOoO'
    u'uUuUuUuUuUuUuUuUuUuUyYyYyYyYyY'
]
_TCVN3= [
  #'�??�??�??�??�??�??�?ª�??�??�??�??�??�??�??'
    u'©¢¨¡®§ª£«¤¬¥*¦'
    #'\xa9\xa2\xa8\xa1\xae\xa7\xaa\xa3\xab\xa4\xac\xa5\xad\xa6'
    #'�??�??�?µ�?µ�??�??�??�??�??�??�?Š�?Š�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??'
    u'¸¸µµ¶¶··¹¹�?�?�?�?�?�?�?�?�?�?¾¾»»¼¼½½�?�?'
    #'\xb8\xb8\xb5\xb5\xb6\xb6\xb7\xb7\xb9\xb9\xca\xca\xc7\xc7\xc8\xc8\xc9\xc9\xcb\xcb\xbe\xbe\xbb\xbb\xbc\xbc\xbd\xbd\xc6\xc6'
    #'�??�??�?�?�?�?�?Ž�?Ž�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�?�?�?�?�?ž�?ž'
    u'ÐÐ�?�?�?�?ÏÏ�?�?�?�?�?�?�?�?�?�?�?�?ÝÝ�?�?�?�?�?�?�?�?'
    #u'\xcf\xcf\xd1\xd1\xd5\xd5\xd2\xd2\xd3\xd3\xd4\xd4\xd6\xd6\xdd\xdd\xd7\xd7\xd8\xd8\xdc\xdc\xde\xde'
    #'�??�??�?Ÿ�?Ÿ�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�?ª�?ª�??�??�??�??�??�??'
    u'ãã�?�?ááââääèèååææççééííêêëëììîî'
    #'\xe2\xe2\xe4\xe4\xe8\xe8\xe5\xe5\xe6\xe6\xe7\xe7\xe9\xe9\xed\xed\xea\xea\xeb\xeb\xec\xec\xee\xee'
    #'�??�??�??�??�??�??�??�??�??�??�??�??�?µ�?µ�??�??�??�??�??�??�?º�?º�??�??�??�??�??�??�??�??'
    u'óóïïññòòôôøøõõöö÷÷ùùúúûûüüþþýý'
    #'\xf3\xf3\xef\xef\xf1\xf1\xf2\xf2\xf4\xf4\xf8\xf8\xf5\xf5\xf6\xf6\xf7\xf7\xf9\xf9\xfa\xfa\xfb\xfb\xfc\xfc\xfe\xfe\xfd\xfd'
]

def ConvertEncoding[input_fc,input_fd,newfd,sE,dE]:
    global arcpy
    rows = arcpy.UpdateCursor[input_fc]
    result = arcpy.GetCount_management[input_fc]
    count = int[result.GetOutput[0]]
    arcpy.SetProgressor["step", "Reading", 0, count, 1]
    for row in iter[rows.next, None]:
        string1 = row.GetValue[input_fd]
        if  string1.strip[]  "":
            newvalue =  Convert[row.GetValue[input_fd],sE,dE]
            row.SetValue[newfd,newvalue]
            rows.UpdateRow[row          ]
        else:
            row.SetValue[newfd,""]
            rows.UpdateRow[row]
        arcpy.SetProgressorPosition[]
    arcpy.ResetProgressor[]       
    del rows
    del row
#Input paramaters   
inputShapefile ="C://Project/TCVN.shp" #arcpy.GetParameterAsText[0]
inputFields = "TCVN"
outputShapefile = "C://Project/UNI.shp"#arcpy.GetParameterAsText[2]
#Processing block
#Copy to new shapefile
arcpy.CopyFeatures_management[inputShapefile, outputShapefile]
# Add new field for storing result
#gp.AddField[outputShapefile,newField,"TEXT","#","#",254]#,"#","NON_NULLABLE","NON_REQUIRED","#"]
#Processing conversion of encoding
inputFL = inputFields.split[";"]
for inputField in inputFL:
    ConvertEncoding[outputShapefile,inputField,inputField,_TCVN3,_Unicode]
arcpy.AddMessage["Finish!"]

đó là bản gốc

# Simple script for conversion of Vietnamese encoding
import arcgisscripting
gp = arcgisscripting.create[9.3]
def Convert[str,s,d]:
    global _Unicode, _TCVN3, _KhongDau
    result = u''
    for c in str:
        idx = s.find[c]
        if idx >= 0:
            c = d[idx]
        result += c
    return result
# Array of characters [Using Tuple instead of List]
_Unicode = [
    #'�??�??�?�?�??�??�??�?ª�?Š�??�??�??�??�??�??'
    u'â�?�?�?�?Đê�?ô�?ơƠưƯ'
    #u'\xe2\xc2\u0103\u0102\u0111\u0110\xea\xca\xf4\xd4\u01a1\u01a0\u01b0\u01af'
    #'�??�??�??�??áº?áº?�??�?�?áº?áº?áº?áº?áº?áº?áº?áº?áº?Ẫáº?áº?áº?áº?áº?áº?áº?áº?ẵáº?áº?áº?'
    u'áÁà�?ảẢã�?ạẠấẤầẦẩẨẫẪậẬắẮằẰẳẲẵẴặẶ'
    #u'\xe1\xc1\xe0\xc0\u1ea3\u1ea2\xe3\xc3\u1ea1\u1ea0\u1ea5\u1ea4\u1ea7\u1ea6\u1ea9\u1ea8\u1eab\u1eaa\u1ead\u1eac\u1eaf\u1eae\u1eb1\u1eb0\u1eb3\u1eb2\u1eb5\u1eb4\u1eb7\u1eb6'
    #'�??�??�??�??áº?Ẻáº?áº?áº?áº?áº?áº?á??á??á?�?á??á??á??á??á??�??�??�??�?�?á??á??�??�??á??á?Š'
    u'é�?è�?ẻẺẽẼẹẸếẾề�?�?�?�?�?�?�?íÍì�?�?�?ĩĨ�?�?'
    #u'\xe9\xc9\xe8\xc8\u1ebb\u1eba\u1ebd\u1ebc\u1eb9\u1eb8\u1ebf\u1ebe\u1ec1\u1ec0\u1ec3\u1ec2\u1ec5\u1ec4\u1ec7\u1ec6\xed\xcd\xec\xcc\u1ec9\u1ec8\u0129\u0128\u1ecb\u1eca'
    #'�??�??�??�??á??á?Ž�?µ�??á??á?�?á??á??á??á??á??á??á??á??á??á??á??á?šá??á?�?á?Ÿá?žá??á??á??á??'
    u'ó�?ò�?ỏ�?õ�?ọ�?�?Ố�?�?�?�?�?�?�?�?�?�?ờ�?�?�?ỡỠợỢ'
    #u'\xf3\xd3\xf2\xd2\u1ecf\u1ece\xf5\xd5\u1ecd\u1ecc\u1ed1\u1ed0\u1ed3\u1ed2\u1ed5\u1ed4\u1ed7\u1ed6\u1ed9\u1ed8\u1edb\u1eda\u1edd\u1edc\u1edf\u1ede\u1ee1\u1ee0\u1ee3\u1ee2'
    #'�?º�?š�??�??á??á??�??�??á??á??á??á??á??á?ªá??á??á??á??á??á??á??á??á??á??á??á??á?µá??�??�??'
    u'ú�?ù�?ủỦũŨụỤứỨừỪửỬữỮựỰỳỲỷỶỹỸỵỴýÝ'
    #u'\xfa\xda\xf9\xd9\u1ee7\u1ee6\u0169\u0168\u1ee5\u1ee4\u1ee9\u1ee8\u1eeb\u1eea\u1eed\u1eec\u1eef\u1eee\u1ef1\u1ef0\u1ef3\u1ef2\u1ef7\u1ef6\u1ef9\u1ef8\u1ef5\u1ef4\xfd\xdd'
]
_KhongDau = [
    u'aAaAdDeEoOoOuU'
    u'aAaAaAaAaAaAaAaAaAaAaAaAaAaAaA'
    u'eEeEeEeEeEeEeEeEeEeEiIiIiIiIiI'
    u'oOoOoOoOoOoOoOoOoOoOoOoOoOoOoO'
    u'uUuUuUuUuUuUuUuUuUuUyYyYyYyYyY'
]
_TCVN3= [
  #'�??�??�??�??�??�??�?ª�??�??�??�??�??�??�??'
    u'©¢¨¡®§ª£«¤¬¥*¦'
    #'\xa9\xa2\xa8\xa1\xae\xa7\xaa\xa3\xab\xa4\xac\xa5\xad\xa6'
    #'�??�??�?µ�?µ�??�??�??�??�??�??�?Š�?Š�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??'
    u'¸¸µµ¶¶··¹¹�?�?�?�?�?�?�?�?�?�?¾¾»»¼¼½½�?�?'
    #'\xb8\xb8\xb5\xb5\xb6\xb6\xb7\xb7\xb9\xb9\xca\xca\xc7\xc7\xc8\xc8\xc9\xc9\xcb\xcb\xbe\xbe\xbb\xbb\xbc\xbc\xbd\xbd\xc6\xc6'
    #'�??�??�?�?�?�?�?Ž�?Ž�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�?�?�?�?�?ž�?ž'
    u'ÐÐ�?�?�?�?ÏÏ�?�?�?�?�?�?�?�?�?�?�?�?ÝÝ�?�?�?�?�?�?�?�?'
    #u'\xcf\xcf\xd1\xd1\xd5\xd5\xd2\xd2\xd3\xd3\xd4\xd4\xd6\xd6\xdd\xdd\xd7\xd7\xd8\xd8\xdc\xdc\xde\xde'
    #'�??�??�?Ÿ�?Ÿ�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�??�?ª�?ª�??�??�??�??�??�??'
    u'ãã�?�?ááââääèèååææççééííêêëëììîî'
    #'\xe2\xe2\xe4\xe4\xe8\xe8\xe5\xe5\xe6\xe6\xe7\xe7\xe9\xe9\xed\xed\xea\xea\xeb\xeb\xec\xec\xee\xee'
    #'�??�??�??�??�??�??�??�??�??�??�??�??�?µ�?µ�??�??�??�??�??�??�?º�?º�??�??�??�??�??�??�??�??'
    u'óóïïññòòôôøøõõöö÷÷ùùúúûûüüþþýý'
    #'\xf3\xf3\xef\xef\xf1\xf1\xf2\xf2\xf4\xf4\xf8\xf8\xf5\xf5\xf6\xf6\xf7\xf7\xf9\xf9\xfa\xfa\xfb\xfb\xfc\xfc\xfe\xfe\xfd\xfd'
]

def ConvertEncoding[input_fc,input_fd,newfd,sE,dE]:
    global gp
    rows = gp.updatecursor[input_fc]
    result = gp.GetCount_management[input_fc]
    count = int[result.GetOutput[0]]
    gp.SetProgressor["step", "Reading", 0, count, 1]
    for row in iter[rows.next, None]:
        string1 = row.GetValue[input_fd]
        if  string1.strip[]  "":
            newvalue =  Convert[row.GetValue[input_fd],sE,dE]
            row.SetValue[newfd,newvalue]
            rows.UpdateRow[row]
        else:
            row.SetValue[newfd,""]
            rows.UpdateRow[row]
        gp.SetProgressorPosition[]
    gp.ResetProgressor[]       
    del rows
    del row
#Input paramaters   
inputShapefile = gp.GetParameterAsText[0]
inputFields = gp.GetParameterAsText[1]
outputShapefile = gp.GetParameterAsText[2]
#Processing block
gp.toolbox = "management"
try:
    #Copy to new shapefile
    gp.CopyFeatures_management[inputShapefile,outputShapefile]
    # Add new field for storing result
    #gp.AddField[outputShapefile,newField,"TEXT","#","#",254]#,"#","NON_NULLABLE","NON_REQUIRED","#"]
    #Processing conversion of encoding
    inputFL = inputFields.split[";"]
    for inputField in inputFL:
        ConvertEncoding[outputShapefile,inputField,inputField,_TCVN3,_Unicode]
    gp.AddMessage["Finish!"]
#Free resources
except:
    gp.GetMessage[2]
del gp

Cảm ơn rất nhiều vì sự giúp đỡ của bạn
chúc mừng
chris

Chủ Đề