0

我正在尝试从文本框中输入一些越南语到我的文件中,然后从该文件中读取并显示在另一个页面中。

显示部分运行良好,因为我尝试将一些越南文直接复制粘贴到文件中并测试显示。但是书写部分有些不对劲,因为当我尝试输入一些越南语并在显示器上测试时,它会在某些地方漏掉一些字符。这是我用来输入文件的代码:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <body>
        <form name="form" method="post">
        <style type="text/css"> 
        .inputtext { width: 550px; height: 550px; } 
        </style> 
            <input type="text" name="text_box" class="inputtext" size="250"/>
            <input type="submit" id="search-submit" value="SAVE" />
        </form>
    </body>
</html>
<?php
    if(isset($_POST['text_box'])) { //only do file operations when appropriate
        $a = $_POST['text_box'];
        $myFile = mb_convert_encoding("test.txt", "UTF-8", "auto");
    $data = mb_convert_encoding($a, 'UTF-8', "auto");
        $fh = fopen($myFile, 'w') or die("can't open file");
    fwrite($fh,utf8_encode($data));
        fclose($fh);
    }
?>

那么如何将 UTF8(或任何多语言)写入文件的正确方法是什么?

4

2 回答 2

0

如果您确保所有页面都已经使用 UTF-8,那么解决方案是:对文件不做任何特殊处理,只需将字符串(已经是 UTF-8)写入文件。

因此,现在您需要了解如何将页面中的所有内容设为 UTF-8。您应该开始发送Content-type标头:header('Content-type: text/html; charset=utf-8');

于 2013-09-30T07:25:34.767 回答
0

在 Dream Weaver 中,您可以检查包含 unicode 签名(BOM)[ CTRL+J ]

于 2013-09-30T07:29:39.887 回答