V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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
Joban
V2EX  ›  MySQL

mysql 字符集都为 utf8,但是程序中查询到的数据中文乱码

  •  
  •   Joban · Dec 20, 2016 · 5610 views
    This topic created in 3415 days ago, the information mentioned may be changed or developed.

    mysql> show variables like '%chara%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_filesystem | binary | | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
    8 rows in set (0.00 sec)

    mysql> show global variables like '%chara%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)

    在服务器里面的命令行查询数据没有问题,但是在程序中查询的数据中文乱码。 麻烦 v 友帮忙看看。

    14 replies    2016-12-26 19:49:15 +08:00
    pubby
        1
    pubby  
       Dec 20, 2016   ❤️ 1
    set names utf8;
    pubby
        2
    pubby  
       Dec 20, 2016
    新版建议直接用 utf8mb4
    adrianzhang
        3
    adrianzhang  
       Dec 20, 2016
    my.cnf 里要设置 utf8
    Miy4mori
        4
    Miy4mori  
       Dec 20, 2016 via Android
    检查下 connection url ?
    Chichele
        5
    Chichele  
       Dec 20, 2016 via Android
    熟悉的坑。。
    chiv2
        6
    chiv2  
       Dec 21, 2016
    一个里面装满了新手程序员的坑。
    pouta
        7
    pouta  
       Dec 21, 2016 via Android
    如果有中文 除了设置编码 查询或写入数据之前都要执行这条 sql 语句 set names utf8(一个新手程序员,有错请指正,谢谢)
    sundyandy
        8
    sundyandy  
       Dec 21, 2016
    确保你后端语言(假设是 php )连接时用的编码也是 utf8 。。
    Joban
        9
    Joban  
    OP
       Dec 21, 2016
    这个设置了
    Joban
        10
    Joban  
    OP
       Dec 21, 2016
    @adrianzhang 在 my.cnf 也设置了
    Joban
        11
    Joban  
    OP
       Dec 21, 2016
    <property name="url" value="jdbc:mysql://...:3306/jewelty?useUnicode=true&amp;characterEncoding=utf-8" />

    url 我是这样写的,有没有问题?
    Joban
        12
    Joban  
    OP
       Dec 24, 2016
    已解决。
    修改了列的的字符集
    ALTER TABLE table MODIFY column TEXT [...] CHARACTER SET utf8;
    aiyo218
        13
    aiyo218  
       Dec 26, 2016
    建表没设字符集?
    Joban
        14
    Joban  
    OP
       Dec 26, 2016
    @aiyo218 设置了噢。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5086 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 05:39 · PVG 13:39 · LAX 22:39 · JFK 01:39
    ♥ Do have faith in what you're doing.