utf 8 — PHP Найти, если какой-либо символ строки не соответствует ISO 8859-1

Я столкнулся с проблемой проверки кодов. Я знаю, что кодирование — это беспорядок, и его сложно проверить.

Я выбрал много вариантов и, в конце концов, попробовал preg_match.

Мне нужно определить, если какой-либо символ не является действительным ASCII или ISO 8859-1 (латинский в mysql).

Я закончил с этим:

return 0 === preg_match('/[^\x00-\x7F\xA2-\xFF]+/', $value);

Но не работает с этой таблицей:

¢£¤¥¦§¨©ª«¬-®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ

Некоторые из этих символов не являются допустимыми латинскими, но они находятся в латинской кодировке. Как Э или А
Я думаю, это потому, что моя локаль или внутренняя функция encondigs установлена ​​на UTF8.

Потому что это ʧ оценивается как действительный латинский символ. Даже когда нет в кодировке http://es.wikipedia.org/wiki/ISO_8859-1

Любая помощь здесь высоко ценится.

НОТА:

Я также сделал много тестов с mb_detect_encoding, mb_check_encoding, mb_convert_encoding and iconv но все они возвращают ʧ как действительный латинский символ.

Я немного потерян здесь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]