首先,我的mysql 是装在UBUNTU 8.10 SERVER系统上的,系统本身无中文支持。默认方法生成数据库,然后手动在my.cnf[mysql]和[mysqld]里面加入两条default-charactor-set=utf8 ,使得shell里面输入status,所有字符相关的都显示为utf8。这个时候,前端(django通过浏览器)向数据库写入数据,所有varchar字段返回正常,但是一遇到longtext字符串,输入的中文都返回的是?问号。请问这是什么问题啊?

解决方案 »

  1.   

    检查一下此字段的字符集设置
    LONGTEXT [CHARACTER SET charset_name]
    MYSQL 版本?
      

  2.   

    | content           | longtext   | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references |         |我的mysql 版本是5.0同样的程序我在另一台有中文支持的desktop ubuntu 8.10上配置,是可以使用的
      

  3.   

    顺便问下撒,检查一下此字段的字符集设置的命令是show full columns from dlog_sysnote;么?
      

  4.   

    请参考:http://topic.csdn.net/t/20050112/17/3720372.html
    http://blog.csdn.net/yahle/archive/2006/08/07/1033195.aspx
    http://www.huarw.com/db/Mysql/200806/1613000.html
      

  5.   

    show full columns from yourTableName like 'ongtext';可以通过这个命令查到这个COLUMN使用的字符集。直接用mysql能不能插入并显示中文?
      

  6.   

    不能。
    我想问一下,直接在shell中输入sql命令输入的中文,是什么编码?就是我如何在界面中指定我输入中文的编码,比如我在shell中输入‘中国’,我想把他作为utf8编码输入,又想把它作为'gbk'码输入,是不是有设置shell字符编码的变量?
      

  7.   

    to:apple_8180
    我无意冒犯,首先谢谢你帮我做了,在google中以'longtext 中文 乱码 mysql'为关键字搜索,但是你没有发现你提供的连接其中有一篇只是提问,没有给出解决方法么?另外,我用的也不是PHP,和C#,虽然二者都有可取之处,都是要对longtext字段进行处理,但是我用python的django框架接收到的数据就只是??无法处理。
      

  8.   

    SET NAMES 'charset_name'
    SET CHARACTER SET charset_name最好安装SQLYOG等等图形化管理工具察看字段类型
      

  9.   

    额.....如果我告诉大家一个事实........我把表删了再用django的API重建了一次,所有配置都没有改,突然发现可以使用了.......
    以前我也做过相关的工作,但是不能使用........
    不过谢谢大家了,给分给分。