繁体   English   中英

PHP define()函数不适用于Unicode UTF-8字符

[英]PHP define() function not work with unicode utf-8 characters

我使用php define(); 函数并从MySQL数据库输入值,如下所示:

$options = DataAccess::FETCHLOAD("SELECT sign FROM " . OPTIONS . " WHERE 1");
define('_SIGN_',$options['0']['sign']);

echo _SIGN_;

现在在ouuput是:

?????????????????????

没有定义:

echo $options['0']['sign'];

输出工作:

تواصل معنا 

与所有的MySQL结果工作utf-8输出中,但是当我在没有确定我的结果工作utf-8

如何解决这个问题?

这应该为您工作:

您是否还在*.php文件中设置了字符集?

<html>
    <head>

        <title>Testing</title>
        <meta charset="UTF-8">
    </head>

    <body>

<?php 

    $options['0']['sign'] = "تواصل معنا";
    define('_SIGN_',$options['0']['sign']);

    echo _SIGN_;

?>

    </body>
</html>

评论后更新:

$options = DataAccess::FETCHLOAD("SELECT sign FROM " . OPTIONS . " WHERE 1");
echo $options['0']['sign'];  //You said that you here the output is "تواصل معنا"
define('_SIGN_',$options['0']['sign']);

echo _SIGN_;  //And here the output is "?????????????????????"

但这对您有用:

define('_SIGN_',"تواصل معنا");
echo _SIGN_; //And here the output is "تواصل معنا"

这不可能! 这不是地方性的!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM