谁有这个的经验?谢谢!

lisoon 2004-09-01 08:52:59
$_SERVER['HTTP_ACCEPT_LANGUAGE'];得到的是一个数组,比如中文的是zh-hk,zh-cn,p=0.5;而我只想要其中的zh-cn来判断。但现在不知道德、韩、法、日等系统用$_SERVER['HTTP_ACCEPT_LANGUAGE'];得到的是什么,我怕取错值。兄弟们,有什么好的办法没有?现在较穷,我会努力赚分,到时开满汉全席款待大家。

...全文
153 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangmingsky 2004-09-01
  • 打赏
  • 举报
回复
在判断之前先这样
$string5= substr($language_type, 0, 5); 取5位,比如zh-hk
$string2= substr($language_type, 0, 2); 取2位,比如zh

中文有简体和繁体之分,所以要取5位判断,其他语言只需要2位就可以了
lisoon 2004-09-01
  • 打赏
  • 举报
回复
但$language_type读出来的值是zh-hk,zh-cn,p=0.5.
不会等下zh-cn.所以判断总是会跑到default去。
rengs 2004-09-01
  • 打赏
  • 举报
回复
。。。。能否只用一个变量名?
$language_type = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
switch ($language_type)
{
case "zh-cn":
$lang = "gb2312";
break;
......
......
default:
$lang = "utf-8";
break;
}
lisoon 2004-09-01
  • 打赏
  • 举报
回复
<?
$language_type = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
switch ($language_type)
{
case "zh-cn":
$china = "gb2312";
break;
......
......
default:
$english = "utf-8";
break;
}
?>
我要这样来判断的,楼上的应该行不通吧。
rengs 2004-09-01
  • 打赏
  • 举报
回复
前面两位表示语言zh表示中文吧-之后的表示地区方言,zh-cn表示中国大陆,zh-hk(中国香港),zh-tw(中国台湾),en-us(美国英国)....总之你用zh-cn判断简体中文就是可以的
lisoon 2004-09-01
  • 打赏
  • 举报
回复
zh-tw zh-hk zh-mo zh-cn 中文
en en-us en-gb en-ca
ja ja-jp
主要是这三个语种,用$_SERVER['HTTP_ACCEPT_LANGUAGE']得到后,它们的位置不同。
我用的系统读出来是顺序是zh-hk,zh-cn,p=0.5,就可以用
$language = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE'])
$language_type = $language[0];//得到zh-hk
日文和英文的就不知道是怎么排的。

ice_berg16 2004-09-01
  • 打赏
  • 举报
回复
$language = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE'])
$language_type = $language[0];
liyujie2000 2004-09-01
  • 打赏
  • 举报
回复
但$language_type读出来的值是zh-hk,zh-cn,p=0.5.
=======================
可以分割到数组中,然后再一一处理。

不建议substr()

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧