Chinaunix

标题: 关于mysql视图汉字显示乱码问题(附实例)? [打印本页]

作者: hsgzr    时间: 2007-02-15 09:51
标题: 关于mysql视图汉字显示乱码问题(附实例)?
CREATE DATABASE `db`
    CHARACTER SET 'latin1'
    COLLATE 'latin1_swedish_ci';

USE `db`;

CREATE TABLE `czy` (
  `czycode` char(4) NOT NULL default '0000',
  `leve` tinyint(1) default '1'
  PRIMARY KEY  (`czycode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


drop VIEW if exists `view_czy`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `view_czy` AS
  select
    `czy`.`czycode` AS `代码`,
    if((`czy`.`leve` = 1),
    '操作员',
    if((`czy`.`leve`=2),
    '出纳员',
    if((`czy`.`leve`=9),
    '管理员','其它'))) AS `级别`
  from
    `czy`
  order by
    `czy`.`czycode`;

INSERT INTO `czy` (`czycode`, `leve`) VALUES   ('3333',1);

以上实例的字符集大家可以随便设置,请大家将以上代码导入数据库,再导出整个数据库后 只要导出文件中中英文全部能正常显示 即为设置正确。
我试了latin1 gbk gb2312 utf8字符集 均不能全部正常显示 ,不是if((`czy`.`leve` = 1),
    '操作员',
    if((`czy`.`leve`=2),
    '出纳员',
    if((`czy`.`leve`=9),
    '管理员','其它'))) AS `级别`

中的汉字不能正常显示 就是英文乱码,请大家试了后再发言。
作者: zhanglp888    时间: 2007-02-15 10:00
等会,我试试啊!
作者: zhanglp888    时间: 2007-02-15 10:13
我这里没有问题!
我的中文能显示
作者: zhanglp888    时间: 2007-02-15 10:21
DROP VIEW IF EXISTS `db_test`.`view_czy`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`
SQL SECURITY DEFINER VIEW `view_czy`
AS select `czy`.`czycode` AS `code`,if((`czy`.`leve` = 1),_utf8'操作工',if((`czy`.`leve` = 2),_utf8'出纳',
if((`czy`.`leve` = 9),_utf8'管理',_utf8'其它'))) AS `级别`
from `czy` order by `czy`.`czycode`;
作者: zhanglp888    时间: 2007-02-15 10:23
我用你的语句试了,没问题!
你试试我给你写的!
我用的mysql5.2
作者: hsgzr    时间: 2007-02-15 10:38
你在czy表中加一个字符字段 然后在该字段数据中输入汉字 看导出后是否是正常 我用的是mysql5.0 你数据库等各个字符集设置的是什么 还是使用什么参数导出的
作者: hsgzr    时间: 2007-02-15 10:43
导出后主要是 if((`czy`.`leve`=2),
    '出纳员',
    if((`czy`.`leve`=9),
    '管理员','其它'))) AS `级别`
中 的汉字不能正常显示 显示为'?????' 如果加了utf8 其它汉字就不能正常显示




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2