安装ie的相应语言输入法插件,并使用微软的输入法输入。此时输入的是unicode编码
安装ie的相应语言显示插件,此时ie可自动识别语言种类并做正确的显示数据库里能够正确存放不同文字

解决方案 »

  1.   

    安装ie的相应语言输入法插件
    请问在那儿下载?
    问题是我们的网页制作肯定是用dreamweaver等制作的,如何保证输入的是正确的编码方式?
      

  2.   

    给你一个站看:
    http://www.ipvlink.com.tw/index.php?c_lang=GB 这是简体
    http://www.ipvlink.com.tw/index.php?c_lang=BIG5 这是繁体在系统设置中定义好初始的内码,然后在页面中所用的可以是简或繁中的一种,但一定要所有页面都统一:
    $init_charset="GB";
    /*************************************************
    IMG setting
    *************************************************/
    if ($c_lang=="GB") {
    $image="/image/";
    }
    if ($c_lang=="BIG5") {
    $image="/image/big5/";
    }再在所有PHP的头里加上转换的代码:
    /*************************************************
    BIG5<==>GB
    *************************************************/
    if ($_REQUEST['c_lang']!="") {
    $c_lang=$_REQUEST['c_lang'];
    }
    else if ($_SESSION['c_lang']!="") {
    $c_lang=$_SESSION['c_lang'];
    }
    else {
    //自动转换繁简,需要php.ini中register_globals = on
    $c_lang="BIG5";
    if ($HTTP_ACCEPT_LANGUAGE=="zh-cn") {
      $c_lang="GB";
    }
    if ($HTTP_ACCEPT_LANGUAGE=="zh-tw") {
      $c_lang="BIG5";
    }
    }
    $_SESSION['c_lang']=$c_lang;
    ?>
    <?
    ob_start();
    ?>
    在所有PHP文件的最后加代码:
    <?
      $chang_lang=$c_lang;
      if (($chang_lang)!="") {
    if ($chang_lang==$init_charset) {
      $chang_lang="";
        }
      }  $RealOutput = ob_get_contents();
      ob_end_clean();
      if ($chang_lang=="GB") {
         $code=new CCharset($inc_path);
         $RealOutput=$code->Big5_Gb($RealOutput);
      }
      if ($chang_lang=="BIG5") {
         $code=new CCharset($inc_path);
         $RealOutput=$code->Gb_Big5($RealOutput);
      }
      echo $RealOutput;if (isset($db)) $db->free;
    ?>里面调用的转换函数如下:
    <?
    /**************************
    繁简转换:
    **************************/
    class CCharset {
    var $gb_map;
    var $big5_map;
    var $dep_char = 127;function CCharset($path) {
    $this->gb_map=$path."/gb.map";
    $this->big5_map=$path."/big5.map";
    echo $big5_map;
    }function cbig5_gb($str,$fd) {
    $c=ord(substr($str,0,1));
    $x=ord(substr($str,1,1));
    $address=(($c-160)*510)+($x-1)*2;
    fseek($fd, $address);
    $hi=fgetc($fd);
    $lo=fgetc($fd);
    return "$hi$lo";
    }function cgb_big5($str,$fd) {
    $c=ord(substr($str,0,1));
    $x=ord(substr($str,1,1));
    $address=(($c-160)*510)+($x-1)*2;
    fseek($fd, $address);
    $hi=fgetc($fd);
    $lo=fgetc($fd);
    return "$hi$lo";
    }function Big5_Gb($str) {
    $fd = fopen ($this->gb_map, "r");
    $str=str_replace("charset=BIG5","charset=gb2312", $str);
    $str=str_replace("charset=big5","charset=gb2312", $str);
    $outstr="";
    for($i=0;$i<strlen($str);$i++) {
    $ch=ord(substr($str,$i,1));
    if($ch > $this->dep_char) {
    $outstr.=$this->cbig5_gb(substr($str,$i,2),$fd);
    $i++;} else {
    $outstr.=substr($str,$i,1);
    }
    }
    fclose ($fd);
    return $outstr;
    }function Gb_Big5($str) {
    $fd = fopen ($this->big5_map, "r");
    $str=str_replace("charset=gb2312","charset=big5", $str);
    $outstr="";
    for($i=0;$i<strlen($str);$i++) {
    $ch=ord(substr($str,$i,1));
    if($ch > $this->dep_char) {
    $outstr.=$this->cgb_big5(substr($str,$i,2),$fd);
    $i++;
    } else {
    $outstr.=substr($str,$i,1);
    }
    }
    fclose ($fd);
    return $outstr;
    }}
    ?>
    用到的繁简体的码表文件是gb.map和big5.map,可以到网上搜一下,或者给我发MAIL,我再发给你
      

  3.   

    就我的经验来说,繁简体的自动转换问题不大,如果在简体系统上转入繁体文件,象Editplus一类的软件,是显示乱码,但不要管它,保存,在页面上转换显示后是正确的繁体文字。但在象Frontpage一类的软件里,打入繁体字,有时候会是完全无效的乱码,有时候就会是正常的繁体字,这和打开文件的meat信息里的内码设置有关。对于英文和日文的,就谈不上转换了,等于是另一套页面,只是文字不同
      

  4.   

    其实你可以参考看看phpmyadmin的多语言的做法的楼上有个方法是繁简转换,用什么函数,好是好。但如果又有一个日文或英文版,有相应的码表吗?
      

  5.   

    1、gbk编码集(936代码页)是中、日、韩及台湾三国四方制定的字符编码标准。已存在的编码集将逐步向其靠拢
    2、php的mbstring扩展库由日本人开发,主要功能之一就是将日文目前的两种代码集向unicode转换
    3、只要页面语言编码使用utf-8,并对各语言做utf-8转换。则各种语言将共存于同一页面。
    当然浏览器要安装相应的语言插件
      

  6.   

    其实我的需求比较简单,就是做四种语言的一个网站,简单地用四个入口就行了,原来解决不了的是文字输入那一关,在dreamweaver里在big5下输入繁体都是乱码,单是建三个各国语言win平台当然可以解决,但美工相对较难操作,而且文字输入会请人做,万一还是在简体环境下输入繁体,页面还是会变成乱码的!现在已经解决了,在区域设置里改变自己的语言环境,然后决不能用dreamweaver,必须用frontpage,要不然还是乱码!!!!我尝试了很多次都失败就是坏在太信任dreamweaver上了!