QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5170|回复: 25

mysql的默认字符集设置成gb2312后中文还是问号

[复制链接]
发表于 2004-12-28 18:06:35 | 显示全部楼层 |阅读模式
我尝试了两种方法,一个是在启动服务时加参数:
mysqld --default-character-set=gb2312

另一种是修改my.cnf,在[mysqld]字段下加上:
default-character-set = gb2312

但是导入的中文数据全都是问号。这是否和编译参数有关啊?我以前用Mandrake的rpm包安装mysql都没有遇到这种问题,如今换Arch了就有了。找了许多资料都没能解决。
发表于 2004-12-28 18:46:14 | 显示全部楼层
系统的编码呢?
回复

使用道具 举报

 楼主| 发表于 2004-12-28 20:31:35 | 显示全部楼层
LANGUAGE=zh_CN.GB2312:zh_CN:zh
LANG=zh_CN

LANGUAGE="en_CN:en_US:en_GB:en"
LANG=en_US.UTF-8
我都试过了,都不行啊。(你说的系统编码是这个意思吗?)
回复

使用道具 举报

 楼主| 发表于 2004-12-28 20:32:28 | 显示全部楼层
在phpmyadmin中显示的总是:
MySQL 字符集: UTF-8 Unicode (utf
回复

使用道具 举报

发表于 2004-12-28 21:41:21 | 显示全部楼层
是做MySQL应用么?

如果PHP程序中设置了charset=gb2312
多半没问题
回复

使用道具 举报

发表于 2004-12-29 11:41:50 | 显示全部楼层
应用程序和 mysql 的编码一样才可以。

不然即使 mysql 里的是 GB2312 ,但系统还是会把它当成 UTF-8 处理。

phpmyadmin 不会自动使用和 mysql 的编码方案的,你手动换成 gb2312 看看~~
回复

使用道具 举报

发表于 2004-12-29 12:45:04 | 显示全部楼层
那就涉及更详细的meta标签了

不过不知道tx-cary的具体应用是什么
回复

使用道具 举报

发表于 2004-12-29 15:07:27 | 显示全部楼层
改变字符集要在编译时使用 参数--with-charset="charset"
你使用得方法是控制mysql提示使用得语言 其支持得语言种类看你使用得版本了
回复

使用道具 举报

 楼主| 发表于 2004-12-29 23:10:06 | 显示全部楼层
我的应用是这个网站:http://playpc.51.net 的本地调试。

我将charset=gb2312也设置进php.ini中了,但是还是不行。php程序在51.net服务器上还有Mandrake服务器上都是运行正常的啊。

附上my.cnf php.ini httpd.conf 三个文件打包

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2004-12-30 15:55:48 | 显示全部楼层
贴出其编译源码,大家帮看看。with-extra-charsets=complex是否包含了gb2312了?


  ./configure --prefix=/usr --libexecdir=/usr/sbin \
    --without-debug --without-docs --without-bench \
    --with-innodb --with-bdb --enable-local-infile --with-openssl \
    --with-extra-charsets=complex

  # fixes
  cp config.h config.h.old
  cat config.h.old | sed 's|^.*HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE.*$|#define HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE|g' >config.h
  cp sql/mysqld.cc sql/mysqld.cc.old
  cat sql/mysqld.cc.old | sed 's|size_socket|socklen_t|g' >sql/mysqld.cc
  cp sql/mini_client.cc sql/mini_client.cc.old
  cat sql/mini_client.cc.old | sed 's|SOCKOPT_OPTLEN_TYPE|socklen_t|g' >sql/mini_client.cc

  make || return 1
  make DESTDIR=$startdir/pkg install
  rm -rf $startdir/pkg/usr/{mysql-test,sql-bench}
  install -D -m644 ../my.cnf $startdir/pkg/etc/my.cnf
  install -D -m755 ../mysqld $startdir/pkg/etc/rc.d/mysqld
  install -D -m644 ../mysqld.conf.d $startdir/pkg/etc/conf.d/mysqld
  ln -sf mysql/libmysqlclient.so.14 $startdir/pkg/usr/lib/libmysqlclient.so.14
  ln -sf libmysqlclient.so.14 $startdir/pkg/usr/lib/libmysqlclient.so
  ln -sf libmysqlclient.so.14 $startdir/pkg/usr/lib/libmysqlclient.so.1
  # for some reason, 4.1.8 doesn't name the libraries properly
  cd $startdir/pkg/usr/lib/mysql
  rm libmysqlclient libmysqlclient.14
  mv libmysqlclient.14.0.0 libmysqlclient.so.14.0.0
  ln -sf libmysqlclient.so.14.0.0 libmysqlclient.so.14
  ln -sf libmysqlclient.so.14.0.0 libmysqlclient.so
回复

使用道具 举报

发表于 2004-12-31 08:20:48 | 显示全部楼层
--with-extra-charsets=complex只是包含了附加字符设置=复杂的字符

--without-debug --without-docs --without-bench取消了debug,取消了文档,取消了bench,也没有负面影响

你是安装的MySQL Source Distribution么?

“在phpmyadmin中显示的总是:
MySQL 字符集: UTF-8 Unicode (utf ”和MySQL的字符配置关系大么?phpmyadmin是通过META标签来确定字符编码的“<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />”
回复

使用道具 举报

 楼主| 发表于 2004-12-31 08:32:38 | 显示全部楼层
MySQL Source Distribution? 我是安装的二进包啊。那个是Arch提供的编译源码,就是说他们是按照这个源码编译的二进包。是否要自己编译过,把--with-extra-charsets改为gb2312? 或者加上--with-charset=gb2312?
回复

使用道具 举报

发表于 2004-12-31 09:03:18 | 显示全部楼层
如果是二进制包,请按照MySQL官方安装说明step by step
     
     shell> groupadd mysql
     shell> useradd -g mysql mysql
     shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
     shell> cd mysql-VERSION
     shell> ./configure --prefix=/usr/local/mysql
     shell> make
     shell> make install
     shell> cp support-files/my-medium.cnf /etc/my.cnf
     shell> cd /usr/local/mysql
     shell> bin/mysql_install_db --user=mysql
     shell> chown -R root  .
     shell> chown -R mysql var
     shell> chgrp -R mysql .
     shell> bin/mysqld_safe --user=mysql &
回复

使用道具 举报

 楼主| 发表于 2004-12-31 15:36:10 | 显示全部楼层
好象就是configure的时候什么参数都不加是吗?我试试看。编译好痛苦啊……
回复

使用道具 举报

发表于 2004-12-31 15:50:47 | 显示全部楼层
MySQL的安装时间是很长 所以才有了coffee time

编译的时候看看其他的书or网页吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 18:45 , Processed in 0.047303 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表