如何在PHP中读取Unicode文本文件

时间:2015-04-30 13:04:13

标签: php unicode

如何在PHP中读取Unicode文本文件。 我使用过HTML标记<meta http-equiv="content-type" content="text/html; charset=utf-8">. 我在15.txt中有一些内容。

  

جوڈیشنلکمیشنکاکاروائیکھلیعدالتمیںجاریرکھنےکافیصلہ; پانچمئیکوشہادتوںپرجرحکاآغازکیاجائیگا

但是此代码打印此类型(ÿþEÌ1'F'E9E1'FÁÒ)

我想打印乌尔都语内容,请告诉我我错在哪里

$row = 1;
$myFile = 15.txt; // Unicode Formate. 
if (($handle = fopen($myFile, "r")) !== FALSE){
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { 
    $num = count($data); 
    $row++;
    $row1 = $data[0];
    $row2 = $data[1];   

    echo '<h1>'.$row1.'</h1>';
    }


    fclose($handle); 

} else {
    echo "Error deleting record: " . $conn->error;
}

当我表演时

2 个答案:

答案 0 :(得分:0)

请使用标题修改您的文字 你需要把header commant放在页面的顶部 您的服务器默认语言可能是英语,因此无法显示您的本地语言。所以我们需要使用header并将charset设置为utf-8。土耳其用户也有同样的问题,因为我们使用一些特殊的字符,如“ş,ı,ü,ğ,ç,ö”我们需要设置charset utf-8才能正确看到我们的文字

header('Content-Type: text/html; charset=utf-8');

此外,如果从db获取数据时遇到同样的问题,则需要将utf 8转换为数据

mysql_query("SET NAMES utf8");

答案 1 :(得分:0)

确保您到处使用UTF-8字符集:

首先:

<?php header("Content-type: text/html; charset=utf-8"); ?>

然后在您的连接实例中:

对于PDO-> $conn->exec("set names utf8");

for Mysqli-&gt; $conn->set_charset("utf8");

还值得一提的是,对于Mysql-&gt; mysql_set_charset('utf8');

并确保您的表格排名是:utf8_general_ci(默认情况下应该是这样)。