鱼C论坛

 找回密码
 立即注册
查看: 3063|回复: 4

[已解决]关于PYTHON CMD里运行中文乱码?IDLE正常CMD乱码

[复制链接]
发表于 2016-9-24 15:45:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. # -*- coding: UTF-8 -*-
  2. """
  3. Created on Fri Sep 16 19:28:24 2016

  4. @author: Administrator
  5. """

  6. import pymssql
  7. import gc

  8. #输入群号
  9. def input_num():
  10.     qunnum=input(u"请输入一个号码:")
  11.     return qunnum
  12. #通过QQ查所有群号数据库名
  13. def qq_cq(data_index,xls_index):
  14.     qq_cq_num='GroupData'+str(data_index)+'.[dbo].[Group'+str(xls_index)+']'
  15.     return qq_cq_num
  16. #通过QQ号查群号
  17. def qq_number_cq(QQnumber):
  18.     data_index=1
  19.     xls_index=1
  20.     qqnum_list=[]
  21.     conn=pymssql.connect(host=".",user="sa",password="6631611HLB",charset="GB2312")
  22.     cur=conn.cursor()
  23.     while xls_index<=1100:
  24.         qq_xls_name=qq_cq(data_index,xls_index)
  25.         #print qq_xls_name
  26.         cur.execute('SELECT [QQNum],[Nick],[QunNum] FROM '+qq_xls_name+' where QQNum='+str(QQnumber))
  27.         qunnum_list= cur.fetchall()
  28.         if qunnum_list:
  29.             qqnum_list.extend(qunnum_list)
  30.         xls_index=xls_index+1
  31.         if (xls_index%100)==1:
  32.             data_index=data_index+1
  33.     conn.close()
  34.     return qqnum_list
  35. #通过群号查询群名称数据库表名
  36. def qunxlsname(qunxls_index):
  37.     if qunxls_index%10000000:
  38.         qun_num=qunxls_index/10000000+1
  39.     else:
  40.         qun_num=qunxls_index/10000000   
  41.     qun_name='QunInfo'+str(qun_num)
  42.     if qunxls_index%1000000:
  43.             qunxls_num=qunxls_index/1000000+1
  44.     else:
  45.             qunxls_num=qunxls_index/1000000   
  46.     xls_name='.[dbo].[QunList'+str(qunxls_num)+']'
  47.     return qun_name+xls_name
  48. #通过群号查询群名称
  49. def put_qunlist(qqnum_list):
  50.     if qqnum_list:
  51.         conn=pymssql.connect(host=".",user="sa",password="6631611HLB",charset="GBK")
  52.         cur=conn.cursor()
  53.         

  54.         qqNIKE_list=[]
  55.         for qunnumber in qqnum_list:
  56.             qunxls_index=qunnumber[2]
  57.             qunxls_name=qunxlsname(qunxls_index)
  58.             #print qunxls_name
  59.             cur.execute('SELECT [Title],[QunNum] FROM '+qunxls_name+' where QunNum='+str(qunxls_index))
  60.             quncx_name=cur.fetchall()
  61.             if quncx_name:
  62.                 qqNIKE_list.extend(quncx_name)
  63.         conn.close()
  64.         return qqNIKE_list
  65. #输出QQ号及群名称
  66. def put_qq_nike(qqnum_list,qqNIKE_list):
  67.     from prettytable import PrettyTable
  68.     x = PrettyTable([u'序号',u'QQ号',u'昵称',u'群号',u'群名'])
  69.     x.align[u'序号'] = "l"  # 以name字段左对齐
  70.     x.padding_width = 1   # 填充宽度
  71.    
  72.     if len(qqnum_list):
  73.         for i in  range(len(qqnum_list)):
  74.             if (len(qqNIKE_list)-i)>0:   
  75.                 x.add_row([i,qqnum_list[i][0],qqnum_list[i][1],qqnum_list[i][2],put_qq_nike_1(i,qqnum_list,qqNIKE_list)])

  76.             else:
  77.                 x.add_row([i,qqnum_list[i][0],qqnum_list[i][1].center(15),qqnum_list[i][2],''])
  78.         print(x)

  79. #通过群号查询群名称对应的群号
  80. def put_qq_nike_1(i,qqnum_list,qqNIKE_list):
  81.     qunnumber=qqnum_list[i][2]
  82.     for j,k in qqNIKE_list:
  83.         if k==qunnumber:
  84.             return j
  85.    

  86. #群号查找QQ成员列表数据库表名
  87. def quncy_cz_xlsname(qunnamber):
  88.     if qunnamber%10000000:
  89.         quncy_qun_num=qunnamber/10000000+1
  90.     else:
  91.         quncy_qun_num=qunnamber/10000000   
  92.     quncy_qun_name='GroupData'+str(quncy_qun_num)
  93.     if qunnamber%100000:
  94.         quncy_cz_num=qunnamber/100000+1
  95.     else:
  96.         quncy_cz_num=qunnamber/100000  
  97.     quncy_cz_name='.[dbo].[Group'+str(quncy_cz_num)+']'
  98.     return quncy_qun_name+quncy_cz_name
  99. #群序号得到群号码
  100. def getqunmumber(index,qqnum_list):
  101.     qunmumber=qqnum_list[index][2]
  102.     return qunmumber
  103. #群号查询QQ成员列表
  104. def quncy_cz(qunnamber):
  105.     conn=pymssql.connect(host=".",user="sa",password="6631611HLB",charset="GB2312")
  106.     cur=conn.cursor()
  107.     xls_name=quncy_cz_xlsname(qunnamber)
  108.     #print xls_name
  109.     cur.execute('SELECT * FROM '+xls_name+' where QunNum='+str(qunnamber))
  110.     row = cur.fetchall()
  111.     from prettytable import PrettyTable
  112.     y = PrettyTable([u'QQ号',u'昵称',u'年龄',u'性别'])
  113.     y.align[u'QQ号'] = "l"  # 以name字段左对齐
  114.     y.padding_width = 1   # 填充宽度
  115.     if row:        
  116.         for qqqun_nike in row:
  117.             y.add_row([qqqun_nike[1],qqqun_nike[2],qqqun_nike[3],qqqun_nike[4]])
  118.             #print '%-12s%-20s%-6s%-6s' %(qqqun_nike[1],qqqun_nike[2],qqqun_nike[3],qqqun_nike[4])
  119.         print(y)
  120.     conn.close()
  121. def zhifu(zhi):
  122.     zhi.decode('utf-8','ignore').encode('GB2312','ignore')
  123.     return zhi
  124.    

  125. while True:
  126.     index=input_num()
  127.     if index>10000:           
  128.         qqnum_list=qq_number_cq(index)
  129.         qqNIKE_list=put_qunlist(qqnum_list)
  130.         put_qq_nike(qqnum_list,qqNIKE_list)        
  131.     elif index<len(qqnum_list):
  132.         qunnumber=getqunmumber(index,qqnum_list)
  133.         quncy_cz(qunnumber)
  134.     else:
  135.         put_qq_nike(qqnum_list,qqNIKE_list)

复制代码

关于PYTHON CMD里进行乱码?IDLE正常CMD乱码
最佳答案
2016-9-25 09:40:25
在 cmd 里 执行 chcp 65001
右键点击cmd标题栏 -> 属性 ,把字体设为 lucida console
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-25 09:40:25 | 显示全部楼层    本楼为最佳答案   
在 cmd 里 执行 chcp 65001
右键点击cmd标题栏 -> 属性 ,把字体设为 lucida console
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-25 10:50:25 | 显示全部楼层
SixPy 发表于 2016-9-25 09:40
在 cmd 里 执行 chcp 65001
右键点击cmd标题栏 -> 属性 ,把字体设为 lucida console

QQ图片20160925104943.png
何解?编译器运行正常,CMD这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-25 12:55:40 | 显示全部楼层
你自己写的程序,我怎么知道哪里有问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-25 14:52:12 | 显示全部楼层
你的报错提示貌似是说你的文件不对,检查一下~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 14:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表