2 hongye8160 hongye8160 于 2016.01.24 09:57 提问

php+apache在windows下 国际化(多语言切换不成功) 5C

OS: win7 64
环境:wampserver 64位 (php5.4.12 +apache2.4.4)安装运行成功 php_gettext.dll开启
前提:语言文件 *.mo 及 *.po 存在&路径没问题&编码为UTF-8
如图图片说明

<?php
    $lan  =  $_REQUEST [ 'lan' ];  
    if ( $lan  ==  'zh_CN' ){  
      putenv('LANG=zh_CN' );   
      putenv('LC_ALL=zh_CN' );   
      setlocale(LC_ALL, 'zh_CN' );  //指定要用的语系,如:en_US、zh_CN、zh_TW   
    }elseif  ( $lan  ==  'zh_TW' ){  
      putenv('LANG=zh_TW' );  
      putenv('LC_ALL=zh_TW' ); 
      setlocale(LC_ALL, 'zh_TW' );  //指定要用的语系,如:en_US、zh_CN、zh_TW   
    }elseif  ( $lan  ==  'en_US' ) {  
      putenv('LANG=en_US' ); 
      putenv('LC_ALL=en_US' );
      setlocale(LC_ALL, 'en_US' );  //指定要用的语系,如:en_US、zh_CN、zh_TW         
    } 
    echo getenv('LC_ALL');

    $domain = 'frontend';
    bindtextdomain($domain, 'locale');
    bind_textdomain_codeset($domain, 'UTF-8');
    textdomain($domain);
    header("content-type: textml; charset=UTF-8");

    echo '<br/>';
    echo _('Help');  
    echo '<br/>';
    echo ('成功');
?> 

浏览器访问:http://localhost/test2.php?lan=zh_CN
输出:图片说明
浏览器访问:http://localhost/test2.php?lan=zh_TW
输出:图片说明
浏览器访问:http://localhost/test2.php?lan=en_US
输出:图片说明
浏览器访问:http://localhost/test2.php?lan=AAA
输出:图片说明

最后一个AAA是为了说明不管怎样设置,显示只有中文!!不支持多语言切换

请问:问题可能出现在哪里,接下来该往哪个方向排除,求教....

1个回答

devmiao
devmiao   Ds   Rxr 2016.01.25 07:06
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!