Кодировка. Найти запрещённые символы

KillDead

Хранитель порядка
Регистрация
11 Авг 2006
Сообщения
894
Реакции
579
В общем есть php скрипт в кодировке утф-8. Ну что-то вроде
PHP:
echo "Привет ણણણ";
function1(" ણણણ");
echo "Пока ओओओ";
Мне нужно перевести это в cp1251. Но там есть символы, которые в новой кодировке нету. Пробовал с помощью iconv\mb_ - получилось только удалить или заменить(попытаться) на эквивалентные. Но это портит функционал.
Так что пока надо просто найти эти символы, которые отсутствуют в нужной мне кодировке - кто нить видел такие функции?
 
а если воспользоваться например AkelPad для преобразования кодировки ?
а потом сравнить исходный файл и преобразованный файл в например ТotalComander или Araxis Merge ?

ps а вообще все отсутствующие символы при преобразовании заменяются на знак вопроса обычно
 
а если воспользоваться например AkelPad для преобразования кодировки ?
а потом сравнить исходный файл и преобразованный файл в например ТotalComander или Araxis Merge ?
ps а вообще все отсутствующие символы при преобразовании заменяются на знак вопроса обычно
Обычно- это зависит от того, чем пользуешься- некоторые редакторы заменят на эквивалентный, некоторые на ?, другие удаляют. У меня нотепад и штирлиц- вот они не подходят (по крайней мере я не понял как через них это сделать). Тем более, что мне нужно кучу файлов перевести, в разных папках. И это делать желательно на автомате, а не через 2 программы чтобы потом отредактировать через 3-ю)
Пока хочу просто найти все запрещённые символы, а потом добавит где надо функцию chr(код символа) в скрипте. По идее должно быть норм
 
А зачем собственно такие пляски с бубном? Почему бы просто не использовать utf-8?
Да и сама постановка вопроса "найти эквивалентные символы" вряд ли верна. Например, какой аналог в 1251 будет для персидской буквы ܮ?
Даже если вы найдете какой-то способ более менее безопасно заменить юникод на аналог, то проверить все файлы все равно придется, мало ли где вылезит какой символ.
 
категорически поддерживаю propovednik, пора уже переходить на utf8, и использовать только его, а не десяток разных кодировок.
 
*** скрытое содержание ***
спб. всё понятно кроме 3-го пункта. Вот какие диапазоны символов отсутствуют в cp1251? Там я что-то нашёл только группы символов в утф, и их коды.

Да и сама постановка вопроса "найти эквивалентные символы" вряд ли верна. Например, какой аналог в 1251 будет для персидской буквы ܮ?
Так я же говорю получилось только удалить или заменить(попытаться) на эквивалентные.. Те некоторые всё же имеют какие то похожие (напр какая нибуть круглая буква-> просто О).

А зачем собственно такие пляски с бубном? Почему бы просто не использовать utf-8?
Есть 2 скрипта, их нужно соединить так чтобы один работал в другом-
1- форум на утф. Он хорошо написан. Даже настройки для смены кодировки (но всё равно все файлы в утф идут, меняются только заголовки).
2- портал на cp1251 - довольно большой, с кучей модулей- он намертво прикручен к кирилице.

Вот и такая ситуация- форум довольно громоздкий, но всё же качество написания его оставляет надежду что смену кодировки он перенесёт. А портал - он во первых работает (если сломается форум- не беда, а вот портал- оч плохо). И писался он так- разработчики приняли, что будет только 1 язык, русский, и везде соответственно кодили.
 
А портал - он во первых работает (если сломается форум- не беда, а вот портал- оч плохо). И писался он так- разработчики приняли, что будет только 1 язык, русский, и везде соответственно кодили.
очень слабо представляю себе такой код который сложно перевести на utf8, будь там хоть к японскому языку привязка, сливаешь на тестовый домен, конвертируешь в utf8 все файлы и базу, а портал себе пусть работает как работал. Смотришь как он себя поведет на тестовом домене, очень большая вероятность того что все будет хорошо, в худшем случаее всплывет пара-тройка ошибок, которые будет не долго исправить.
 
очень слабо представляю себе такой код который сложно перевести на utf8, будь там хоть к японскому языку привязка, сливаешь на тестовый домен, конвертируешь в utf8 все файлы и базу, а портал себе пусть работает как работал. Смотришь как он себя поведет на тестовом домене, очень большая вероятность того что все будет хорошо, в худшем случаее всплывет пара-тройка ошибок, которые будет не долго исправить.
Кэп? если не считать что все строковые функции могут давать ошибку, а некоторые просто будут это делать, тк утф - это многобайтовая кодировка. Да и в самом движке есть пляски с утф и нужно будет там смотреть и вырезать эти места. + всё таки мне надо форум поставить на сайт, те не хочется лишаться поддержки всех модулей портала, а форум- это второстепенно.
Да и перевести утф в кирилицу, примерно столько же гемора.
------------
Возвращаясь к первоначальному тз - пока идея тупая, iconv удаляет после запрещённого символа (если не задавать опции), -> просто запускаем его и если он что-то обрезал у исходника 1 символ удаляем, затем опять iconv)
 
Назад
Сверху