How can I know if url-encoded string is UTF-8 or Latin-1 with PHP?

荒凉一梦 提交于 2019-12-06 10:14:05

mb_detect_encoding() is normally useless with the default second parameter:

<?php

$x1 = 'Cl%C3%A9ment';
$x2 = 'Cl%E9ment';

$encoding_list = array('utf-8', 'iso-8859-1');

var_dump(
    mb_detect_encoding(urldecode($x1), $encoding_list),
    mb_detect_encoding(urldecode($x2), $encoding_list)
);

... prints:

string(5) "UTF-8"
string(10) "ISO-8859-1"
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!