我试图比较两个字符串,但它总是返回false。两个字符串都是相同的,但当我进一步检查它时,我知道一个是utf-8(来自数据库/雄辩),另一个是从表单(ancii)提交的。主要问题是,在数据库中,字符串之间和之后有空格。我也尝试使用mysql TRIM(),但失败了。有线索我该怎么办?
我也尝试用
改变编码iconv("UTF-8", "ISO-8859-1",str_replace(' ', '', $request->sentence))
尝试将string与strcmp()进行比较,但它从不返回0
感谢您的关注和帮助。
$sentence = AvailableSentence::
where('sentence_id', $request->sentence_id)
->with(['details'])
//->where
->first();
//var_dump(strcmp( str_replace(' ', '', $sentence->details->sentence) , str_replace(' ', '', $request->sentence) ));
//var_dump( iconv("UTF-8", "ISO-8859-1",str_replace(' ', '', $request->sentence)) );
//var_dump(mb_detect_encoding(' ', '', $sentence->details->sentence));
您可以在客户端设置它应该在哪个字符集上:
<meta charset="utf-8">
或
<form ... accept-charset="utf-8">
与https://stackoverflow.com/a/39381595/5663411相关