0

我想.txt使用 php 从文件中读取数据。我想在一列中显示数据,但我做不到。

file.txt包含这些数据:

ہو
تو
کر
جو
نہ

我得到这样的输出:

ہو 㰊牢>تو 㰊牢>کر 㰊牢>جو 㰊牢>نہ 㰊牢>؟ 㰊牢>ہیں 㰊牢>ان 㰊牢夾畯栠癡⁥湡攠牲
<?php

$conn = mysql_connect("localhost","root",""); 
mysql_select_db("Project",$conn);
mysql_query("SET NAMES UTF8");
$handle = @fopen("file.txt", "r");
while (!feof($handle)) {
    $buffer = fgets($handle, 1024); 
    list($urdu)=explode('/n',$buffer);

    echo $urdu."<br>";

    $sql = "INSERT INTO fb (urdu) VALUES('$urdu')";
    mysql_query($sql) or die(mysql_error());
}

所以请告诉我如何显示这样的文本:

ہو
تو
کر
جو
نہ
4

1 回答 1

0

问题似乎来自编码不匹配,所以首先找出这种不匹配发生在哪里,您的问题可能是:

a)您的 php 代码可能正在使用不正确的编码读取输入(如果您尝试读取 iso-8859,但源文件以其他方式编码)

b)您的 php 代码可能使用不正确的编码写入输出

c)您用来读取输出(您的浏览器)的任何内容都可以设置为与您正在写入的字节不同的编码。

因此,一旦您弄清楚这 3 个地方中的哪一个导致您的问题,您就可以通过了解您的源编码是什么以及如何使用该源编码而不是另一种编码(您的系统具有可能设置为默认值)。

也许您可以使用 mb_detect_encoding 和 mb-convert-encoding。

于 2016-11-02T15:22:49.260 回答