当前位置: 技术问答>linux和unix
Linux下访问MYSQL数据库中数据时出现乱码问题
来源: 互联网 发布时间:2017-02-12
本文导语: 在Ubuntu10.04系统下,我用C语言写了一个程序查询my_database数据库中Student表中的数据:char * query = "select * from Student";然后输出到终端下或者直接读到一个文本中,但是在显示中文时是乱码(显示的是?号)!MYSQL数据库...
在Ubuntu10.04系统下,我用C语言写了一个程序查询my_database数据库中Student表中的数据:char * query = "select * from Student";然后输出到终端下或者直接读到一个文本中,但是在显示中文时是乱码(显示的是?号)!MYSQL数据库的配置文件my.cnf中我已经设置了MYSQL的各种编码方式为UTF-8:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
而且建立Student表时各个字段选择的编码方式也都是UTF-8,在终端下用mysql命令方式访问Student表中的数据时,显示正常,没有出现乱码,但是用C语言写的程序输出到终端或者文本中时,却是乱码,而且终端或者本文的编码方式就是UTF-8!不应该出现乱码啊!求解!
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
而且建立Student表时各个字段选择的编码方式也都是UTF-8,在终端下用mysql命令方式访问Student表中的数据时,显示正常,没有出现乱码,但是用C语言写的程序输出到终端或者文本中时,却是乱码,而且终端或者本文的编码方式就是UTF-8!不应该出现乱码啊!求解!
|
生成的文件,可以使用file 命令查看一下,看看是什么格式
|
mysql_set_character_set 这个函数是用来设置当前连接的字符集
与服务器的字符集应该没有直接关系
与服务器的字符集应该没有直接关系
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。