繁体   English   中英

PHP读取日文内容的文件

[英]PHP read file with Japanese contents

我正在编写一个 php 脚本,其中我需要从 CSV 文件中获取数据,其中一些内容是用日语编写的。 但是,我根本无法正确读取或显示数据。

我正在阅读的文件以 iso-8859-1 字符集编码。 我还尝试使用 iconv 将其转换为 UTF-8 编码文件,但是这样做似乎完全破坏了文件中的数据,并且文本在之后的任何应用程序中都无法正确显示。

这是我现在正在使用的脚本:

<?php 
    header("Content-Type: text/html; charset=ISO-8859-1"); 
    setlocale(LC_ALL, 'ja_JP.EUC-JP'); 
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <?php

        $row = 1;

        if (($handle = fopen("/srv/http/Japanese/testFile.csv", "r")) !== FALSE) {
            while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                $row++;
                for ($i = 0; $i < 4; ++$i) {
                    echo $data[$i] . "<br />";
                }
                echo "<br />";
                if ($row > 1000) break;
            }
            fclose($handle);
        } else echo print_r(error_get_last(),true);
    ?>
</body>
</html>

添加了前两行 PHP 以尝试解决此问题,但没有奏效。

读取引き込む, 762, 762, 7122文件中的字符串输出如下所示:

°ú¤­¹þ¤à
762
762
7122

此外,这似乎不仅仅是数据显示的问题。 我还尝试使用if ($data[$i]) == "引き込む")测试数据,即使我知道这是正在读取的字符串,它似乎也是错误的。

我也尝试过使用其他读取文件的方法,但是无论我使用哪种 PHP 方法来读取文件,我似乎都遇到了完全相同的问题。

任何帮助将不胜感激。

您需要将带有 iconv 的 csv 文件转换为 ja_JP.EUC-JP(并将元标记中的字符集值也设置为此值)或将 csv 转换为 utf8 并设置适当的字符集 (ja_JP.UTF8)。

我想发表评论,但我没有积分,所以如果我的答案不正确,请原谅我

从我在谷歌和 Stackoverflow 上可以找到的内容来看,这似乎是一个解决方案,您只需将其放入您的代码中

这段代码

setlocale(LC_ALL, 'ja_JP');
$data = array_map('str_getcsv', file('japanese.csv'));
var_dump($data);

使用我本地的以下 CSV 文件(japanese.csv,以 UTF-8 保存)。

日本語,テスト,ファイル
2行目,CSV形式,エンコードUTF-8

结果是

array(2) {
  [0]=>
  array(3) {
    [0]=>
    string(9) "日本語"
    [1]=>
    string(9) "テスト"
    [2]=>
    string(12) "ファイル"
  }
  [1]=>
  array(3) {
    [0]=>
    string(7) "2行目"
    [1]=>
    string(9) "CSV形式"
    [2]=>
    string(20) "エンコードUTF-8"
  }
}

这可能会帮助您了解更多: 喜欢其他帖子

暂无
暂无

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

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