0

有两个文件 run.php 和 class/functions.php 用于在 javascript 事件的 html 页面上放置一些文本(AJAX 用于此)。

run.php 文件是:

<?php
mb_internal_encoding("UTF-8");

require_once('class/functions.php');

$text = array();
$text[0]="rrrrrr";

strange_func($text, 0);//puts "фа" into $text[0]
$res1=$text[0];

$arr = array();

$arr['res1'] = $res1;
$arr['res2'] = "test";

header('Content-type: application/json');
echo json_encode($arr);
?>

类/functions.php 包含:

function strange_func(&$text, $i){
    $text[$i]="hello123";//hello123 will be displayed on html page on javascript event
    //$text[$i]="фь";
    //if we comment hello123 and uncomment фь, then фь will NOT be displayed on the html page on javascript event by unknown reason. Why?
}

此外,如果我替换require_once('class/functions.php');

function strange_func(&$text, $i){
    $text[$i]="фь";
}

,然后会显示“фь”。那么,如果文本是西里尔文,为什么函数strange_funcfromclass/functions.php不显示文本?

上面的代码是简化的结果,没有太多意义。但是,问题依然存在。

4

1 回答 1

1

使用 utf-8 编码保存(无 BOM)

于 2012-04-24T20:54:31.140 回答