V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
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
johnnyR
V2EX  ›  MySQL

mysql 中文显示 ????? 的问题

  •  
  •   johnnyR · 2015-01-15 20:32:38 +08:00 · 5283 次点击
    这是一个创建于 3598 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 Navicat 将一个 txt gb2312 编码的数据库导入 mysql~输入账学号查询结果显示正常!但输入中文查询结果中文却显示 ????? 这是为什么?

    19 条回复    2015-01-16 09:11:21 +08:00
    abcbit
        1
    abcbit  
       2015-01-15 20:36:55 +08:00
    統一所有編碼, over
    johnnyR
        2
    johnnyR  
    OP
       2015-01-15 20:40:30 +08:00 via iPhone
    @abcbit 从网页,数据库,表,全部都设置了utp8了。还是这样。是原导入文件的问题吗
    xlvecle
        3
    xlvecle  
       2015-01-15 20:42:52 +08:00
    统一utf-8就行了,页面如果不是改页面
    haiyang416
        4
    haiyang416  
       2015-01-15 20:49:18 +08:00 via Android
    SET NAMES utf8
    传输编码也要记得改
    johnnyR
        5
    johnnyR  
    OP
       2015-01-15 20:51:10 +08:00 via iPhone
    @haiyang416 这个连接数据库时的编码吗?在连接数据库的配置文件也改了!……
    johnnyR
        6
    johnnyR  
    OP
       2015-01-15 20:52:47 +08:00 via iPhone
    在用navicat导入时第一步要不要选择utf8?
    loyd1234
        7
    loyd1234  
       2015-01-15 20:54:49 +08:00
    在你配置mysql的时候就应该选择utf-8
    jyjmrlk
        8
    jyjmrlk  
       2015-01-15 20:58:23 +08:00
    有问号的那个字段设置一下?

    比如这样?

    `description` varchar(255) CHARACTER SET ucs2 NOT NULL DEFAULT '',
    johnnyR
        9
    johnnyR  
    OP
       2015-01-15 21:17:06 +08:00 via iPhone
    @jyjmrlk 这个可以试试。
    jyjmrlk
        10
    jyjmrlk  
       2015-01-15 21:19:17 +08:00
    @johnnyR 有用的话记得告诉我。
    edire
        11
    edire  
       2015-01-15 21:31:12 +08:00
    需要统一txt 和 mysql的编码
    johnnyR
        12
    johnnyR  
    OP
       2015-01-15 21:38:46 +08:00 via iPhone
    @edire 怎么统一?用编辑器打开txt文件,如果选择utf8就会显示乱码。gb2312才 显示正常
    endoffight
        13
    endoffight  
       2015-01-15 21:49:35 +08:00 via iPhone
    编码需要统一
    插入前确保数据库编码和文件编码一样,推荐utf8
    如果不一样,修改文件的编码,包括sql内容中和编码有关的字段和文件编码。
    然后导入
    取数据前执行一次set names utf8
    johnnyR
        14
    johnnyR  
    OP
       2015-01-15 21:56:46 +08:00 via Android
    还有在phpmyadmin里面中文为显示正常。
    Mac
        15
    Mac  
       2015-01-15 23:03:57 +08:00
    @johnnyR 用notepad++把源文件转成UTF-8编码再导入
    ericls
        16
    ericls  
       2015-01-15 23:20:34 +08:00 via Android
    @johnnyR 是可以转换的 这就是问题所在 你把gbk硬生生导入了utf8 而没经过转换
    johnnyR
        17
    johnnyR  
    OP
       2015-01-16 00:54:55 +08:00 via Android
    @ericls 谢谢,这个也可以试试
    johnnyR
        18
    johnnyR  
    OP
       2015-01-16 00:55:21 +08:00 via Android
    @Mac 不会乱码吗
    Mac
        19
    Mac  
       2015-01-16 09:11:21 +08:00
    @johnnyR 不会,菜单-格式-转为UTF-8无BOM编码格式
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:01 · PVG 03:01 · LAX 11:01 · JFK 14:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.