最近在用c#写的客户端程序通过存储过程往mysql里写数据,但是输入到数据库的中文都是乱码,看过了以前的帖子试了试没有什么效果,各位高手帮我看看是哪里出错了。谢谢大家

解决方案 »

  1.   

    应该是 我在set  names gbk和utf8 是显示的乱码不一样 但是不显示中文 不知道哪设置不对 
      

  2.   

    配置文件改成这样试试。我程序用的UTF8,你可以按照你的程序改成gbk。[client]
    defualt-character-set=utf8mb4
    [mysql]
    default-character-set=utf8mb4
    [mysqld]
    character_set_server=utf8mb4
      

  3.   

    建议重新创建数据库(指定数据库字符与字符比较字符),重新导入表结构及数据 (表结构显示指定与数据库相同字符集或不指定字符:字符集 继承关系:服务器 -数据库-表 -属性)创建数据库参考语句 :create database  test_db default character set gbk  collate gbk_chinese_ci  ;
      

  4.   

    一般这种情况肯定是字符集的问题。
    有个navicat工具可以非常方便的修改数据库的字符集。
    直接在数据库右键 属性里面 修改就行了。你可以试试看。
      

  5.   

    这正是我想说的 我的是centos my.cnf里边是空的 什么都没有 要自己打进去吗
      

  6.   

    一般这种情况肯定是字符集的问题。
    有个navicat工具可以非常方便的修改数据库的字符集。
    直接在数据库右键 属性里面 修改就行了。你可以试试看。我的是centos
      

  7.   

    我就是这么创建的 重启以后 除了db还是gbk以为 其他的都变成latin了 我的my.cnf 文件是空的 我的是centos
      

  8.   

    我连 【mysql】 都没有 要自己敲吗
      

  9.   


    my.cnf里面配置 下字符集变量吧
      

  10.   

    你这个库最好重新改下字符集编码,改成utf8的编码
    流程大概是把库中数据导出,然后改库的编码,导入的时候按照utf8的格式导入
    你贴的那个编码图中除了二进制文件中的编码,其它都改成utf8
      

  11.   


    my.cnf里面配置 下字符集变量吧嗯 我的my.cnf 文件确实有 但是我打开后里边是空的 什么都没有 但是可以手工敲进去 连[mysql]都没有 就是什么都没有 我感觉是不是不应该这样啊
      

  12.   

    我的意思是  数据库的字符集更改了,表的字符集也修改啊 ,例如  :当然 数据库的字符集都设置了,表的也设置了,在导入数据前保证数据不是乱码,应该没有什么问题了 !我用c#写的软件导入的数据 导入之前我写用text窗口显示数据的 嗯 我在看看 我读出来是不是乱码
      

  13.   

    我的意思是  数据库的字符集更改了,表的字符集也修改啊 ,例如  :当然 数据库的字符集都设置了,表的也设置了,在导入数据前保证数据不是乱码,应该没有什么问题了 !我用的腾讯云的服务器 上建立的mysql 不会是腾讯云的问题吧
      

  14.   

    我的意思是  数据库的字符集更改了,表的字符集也修改啊 ,例如  :当然 数据库的字符集都设置了,表的也设置了,在导入数据前保证数据不是乱码,应该没有什么问题了 !我用的腾讯云的服务器 上建立的mysql 不会是腾讯云的问题吧服务器应该没有问题 ,你确保数据库相关字符集都是正确的,之后再确定程序中读取数据字符集相同就没有问题了。
    数据库恢复后,有没有远程连接查询 数据是否为乱码 (直接在服务器上查询数据)?
      

  15.   

    我的意思是  数据库的字符集更改了,表的字符集也修改啊 ,例如  :当然 数据库的字符集都设置了,表的也设置了,在导入数据前保证数据不是乱码,应该没有什么问题了 !我用的腾讯云的服务器 上建立的mysql 不会是腾讯云的问题吧服务器应该没有问题 ,你确保数据库相关字符集都是正确的,之后再确定程序中读取数据字符集相同就没有问题了。
    数据库恢复后,有没有远程连接查询 数据是否为乱码 (直接在服务器上查询数据)?过程是这样的 我有个本地sqlserver服务器 用c#写的软件从sqlserver中读取中文 然后用c#软件再写入云服务器的mysql里 
      

  16.   

    如果没有把握的话,在所有传送里都用UTF8是最保险的。

    mysql db
    mysql server
    mysql client
    connection
    c# mysql driver