Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ajax+utf-8:根本无法修改西里尔文字符串(使用substr等),行为奇怪_Php_Ajax_Utf 8 - Fatal编程技术网

Php ajax+utf-8:根本无法修改西里尔文字符串(使用substr等),行为奇怪

Php ajax+utf-8:根本无法修改西里尔文字符串(使用substr等),行为奇怪,php,ajax,utf-8,Php,Ajax,Utf 8,我切换到utf-8字符集,这里有一个问题 一步一步地,它是如何工作的,它是如何工作的!: blahblahblah-->javascript事件--->使用ajax POST方法发送blahblahblah文本---->part1.php文件接收$comment=$\u POST[comment];成功并在文本区域下方的html页面上显示,没有问题 但是,如果文本没有修改,或者可以修改,但应该只包含英文字母,那么一切都是完美的。否则,页面上会显示矩形,而不是西里尔字母 以下是part1.php的

我切换到utf-8字符集,这里有一个问题

一步一步地,它是如何工作的,它是如何工作的!:

-->javascript事件--->使用ajax POST方法发送blahblahblah文本---->part1.php文件接收$comment=$\u POST[comment];成功并在文本区域下方的html页面上显示,没有问题

但是,如果文本没有修改,或者可以修改,但应该只包含英文字母,那么一切都是完美的。否则,页面上会显示矩形,而不是西里尔字母

以下是part1.php的代码和html页面上的几个结果:

$comment=$_POST["comment"];

echo $comment."|".strlen($comment)."|".substr($comment,0,1);
在文本区域输入:你好。文本区域下方显示:hello | 5 | h//OK

在文本区域输入:你好,ааааа。文本区域下方显示:您好,Саааа16 | H//OK

在文本区域中输入:Сааааа。文本区域下方显示:无,页面上的错误显示在浏览器左下方的javascript错误中

如果我删除substr$comment,0,1并写下bааааа,它将显示bаааааа10,没有任何错误

为什么会发生这种情况,所以我无法提取该字符串的任何部分来修改它?。。。有什么想法吗


谢谢。

您应该使用和。

您应该使用和。谢谢!这正是我需要的!现在它工作了@S B:太好了。我把它作为一个答案,所以你可以接受它,并将这个问题标记为已解决。