lio*_*r r 3 php utf-8 character-encoding iconv
我想将UTF-8字符串转换为CP1255(希伯来语)
我尝试运行以下(我使用detect_encoding,因为我的一些输入不是UTF-8):
foreach($param as $key=>$value){
$newval = iconv(mb_detect_encoding($value),"cp1255",$value);
$querystr .= $key."=".$newval."&";
}
Run Code Online (Sandbox Code Playgroud)
无论如何,结果是所有希伯来字符都返回了漂亮的 符号,而所有其他字符(英语/数字)都是预期的并且希望保持完整.
我该怎么做呢?
我找到了一个解决方案:
foreach($param as $key=>$value){
$value_encoding = mb_detect_encoding($value);
if($value_encoding == "UTF-8"){
$newval = iconv($value_encoding,"cp1255",$value);
}else{
$newval = $value;
}
$endpoint = add_query_arg($key,$newval,$endpoint);
}
$content = file_get_contents($endpoint);
Run Code Online (Sandbox Code Playgroud)