【问题标题】:PDO PHP hebrew doesn't workPDO PHP 希伯来语不起作用
【发布时间】:2016-12-11 12:22:21
【问题描述】:

嘿,我尝试了一个在本地 wamp 服务器上使用 pdo 和 php 的代码,它可以完美运行并显示希伯来语和英语,但是当我将代码放在网络上时,它显示希伯来语是像这样的奇怪符号 ׳™׳—׳ •׳“ ׳~׳™׳™׳'׳¨׳™׳ ׳׳”׳ wamp sql表和web sql表都设置为utf8_general_ci

这是我的代码:

    <?php
    $db = new PDO('mysql:host=127.0.0.1;dbname=android;charset=utf8', 'root', '');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $db->query('SELECT * FROM sample');
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

$out = '';
if (is_array($results) && count($results) > 0) 
{
  foreach ($results as $sqlRow) 
  {
    $out .= $sqlRow['id']."|||".$sqlRow['name']."|||";
  }

  $out = substr($out, 0, -3);
}
echo $out;
?>

【问题讨论】:

标签: php mysql sql pdo hebrew


【解决方案1】:

问题可能不在于 MySQL,而在于您 Web 服务器上的 PHP。尝试在您的 php.ini 中设置此属性:

default_charset = "utf-8"

阅读更多关于这个属性here

【讨论】:

    【解决方案2】:
    change to this row
    for me it is helped
    This after you set the table utf-8
    

    $conn = new PDO("mysql:host=localhost; dbname=$database;charset=UTF8","root","",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")) 或者死(“无连接”); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      相关资源
      最近更新 更多