› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
christianwong
V2EX  ›  MySQL

python和mysql中处理中文字符的问题

  •  
  •   christianwong · Sep 4, 2013 · 4007 views
    This topic created in 4773 days ago, the information mentioned may be changed or developed.
    linux上python写的一个程序:

    1. 本地有一个文件A,有两列:name 和 score, name取值为一些中文字符串,score为1-10的打分,A的格式是GBK

    2. 将A中的数据遍历插入到MySQL数据库表tb_name_score中,tb_name_score的name属性编码为latin1_swedish_ci

    3. 本地有一个新的文件B,也有两列,name和score,目前想遍历文件B,将MySQL表tb_name_score中对应的name的打分更新

    4. 为了实现3必须在sql语句中进行name相等的判断,由于name是中文字符串,目前即使是相等的字符串也被判断为不相等。

    在网上找了几个其它的方法,比如locate,like binary,都不好使,求V友们帮忙!
    8 replies  •  1970-01-01 08:00:00 +08:00
    christianwong
        1
    christianwong  
    OP
       Sep 4, 2013
    文件B的编码也是GBK
    christianwong
        2
    christianwong  
    OP
       Sep 4, 2013
    卧槽,沉了,拯救一下
    xunyu
        3
    xunyu  
       Sep 4, 2013
    把mysql的属性编码改成utf8的可以不?
    likuku
        4
    likuku  
       Sep 4, 2013
    文件,DB表,DB连接,py文件,linux系统环境,以上统统使用UTF-8,从此以后妈妈再也不用担心你的学习了!
    9hills
        5
    9hills  
       Sep 4, 2013
    全用Unicode即可,编码问题这样就会变得非常简单

    如果非要从GBK读取和输出成GBK,那在读取和输出时转换即可
    christianwong
        6
    christianwong  
    OP
       Sep 4, 2013
    @9hills 好的,多谢!
    christianwong
        7
    christianwong  
    OP
       Sep 4, 2013
    @likuku 哈哈,多谢!
    christianwong
        8
    christianwong  
    OP
       Sep 4, 2013
    @xunyu 不好使
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1047 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:14 · PVG 02:14 · LAX 11:14 · JFK 14:14
    ♥ Do have faith in what you're doing.