在php中运行的get_browser()方法中获取非法字符

在php中运行的get_browser()方法中获取非法字符,php,character-encoding,browscap,Php,Character Encoding,Browscap,从中,我运行一个简单的代码,使用get\u browser()方法获取浏览器信息 手册中的代码- 我正在运行的代码(几乎相同/我尝试删除echo” <?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); echo "<pre>"; print_r($browser); ?> 让我知道我做错了什么,在哪里寻找解决方案 还有一件事要问,在同一份文件里- 尝试

从中,我运行一个简单的代码,使用
get\u browser()
方法获取浏览器信息

手册中的代码-

我正在运行的代码(几乎相同/我尝试删除echo”
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
echo "<pre>";
print_r($browser);
?>
让我知道我做错了什么,在哪里寻找解决方案

还有一件事要问,在同一份文件里-

尝试通过以下方式确定用户浏览器的功能: 在browscap.ini文件中查找浏览器信息


在我的系统中,我在哪里可以找到这个
browscap.ini
,我使用的是
windows7
…尽管我不太确定它是否与这个问题有关。

正如您所说,您在给定路径中找到了browscap.in文件,然后在php.ini文件中指定绝对路径
C:\xampp\php\extras\browscap.ini
,如

在我的本地设置(php.ini)中,实际上我已经从其他函数生成了browscap文件,然后将其粘贴到文件中,然后找到了正确的输出

if (function_exists('get_browser') && ini_get('browscap')) {
    $browser_info = get_browser(null, true);
    if (function_exists('mb_convert_encoding')) $browser_info['browser_name_regex'] = mb_convert_encoding($browser_info['browser_name_regex'], "UTF-8", "ISO-8859-1");
    print_r($browser_info);
}
您可以像下面这样指定绝对路径

和要检查的代码

echo$\u服务器['HTTP\u用户\u代理]。“\n\n”;
$browser=get_browser(null,true);
echo”“;print_r($browser);die;

同样的问题在

根据那里的信息和在那里找到的更透彻地解释错误的信息,我创建了一些代码行来解决问题

我把我的答案贴在这里和那里

代码:


如果你想提取浏览器名称,那么你只能使用
echo$\u SERVER['HTTP\u USER\u AGENT'];
@NullVoid thx bro我已经知道了..但这不是我想要的…我正在寻找治疗方法,而不是预防:)bro如果文件中的thr不匹配,则不应反映任何数据..但我正在获取数据..只有浏览器中的问题\u name\u regex…其余都可以正常工作,因为您可以在屏幕快照中切换,那么应该还有一些其他问题,因为我获得了完美的信息,而没有字符编码问题。您可以尝试使用此
标题('Content-Type:text/html;charset=utf-8');
[browscap]
;browscap = extra/browscap.ini
browscap = D:\ZendServer\etc\browscap.ini
[browscap]
;browscap = extra/browscap.ini
browscap = C:\xampp\php\extras\browscap.ini
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
echo "<pre>";print_r($browser);die;
if (function_exists('get_browser') && ini_get('browscap')) {
    $browser_info = get_browser(null, true);
    if (function_exists('mb_convert_encoding')) $browser_info['browser_name_regex'] = mb_convert_encoding($browser_info['browser_name_regex'], "UTF-8", "ISO-8859-1");
    print_r($browser_info);
}