Символи на кирилица, че е 2
Развитие → Notepad ++. Символи на кирилица, по погрешка, хванати в капана код - решение
Вчера прекарах почти два часа се опитва да намери грешка в привидно правилния код. Проблемът се оказа банална - в масив "текст" ключ някак си писмото на кирилица "е". На външен вид тя не се различава от "е" на латински, както и да намерите проблема се оказа много трудно. Сигурен съм, че по-голямата част от програмисти, и само на хората, които работят с текстова информация от време на време се сблъскват със сходни проблеми. Това е особено вярно за "SI" английски и руски букви "ове", които са на един и същ ключ в руски и английски оформления. Аз този случай не е първият, и затова реших да се намери решение на този проблем сериозно. И решението - макар и не много елегантен, но това е доста полезна - бе намерен.
Исторически погледнато, че аз често използвам Notepad ++ да работи като цяло, и за писане на скриптове в PHP, по-специално. И в него, например, имена на променливи и $ iicuxiphametod $ іisuhirhametod (не обръщат внимание на странното име - това е само един пример) изглеждат абсолютно еднакви, въпреки че думата в дясната половина на героите на кирилица.
Първата ми мисъл беше с помощта на търсене на регулярен израз, за да намерите всички малки символи на кирилица, които са непосредствено вдясно или вляво на латиница и ръчно или, отново, регулярен израз, за да ги замени.
Търсене пример (модел (?<=[A-Za-z])[а-яёі]|[а-яёі](?=[A-Za-z]), в символьных классах "і" украинская):
За простота, аз не решите да класове характер само символите от кирилицата са подобни на латински, и ги включва всички (на български и украински език, с изключение на някои украински писма) - просто исках да покажа на принципа.
Като алтернатива може да се счита това решение, но след това трябва да се провери всеки файл всеки път, код не работи. И това не е удобно.
Вторият ми мисъл беше: "Възможно е да се поиска кирилица отделен шрифт или размер на шрифта на индивида на. за кирилица и латиница различава на външен вид, докато пишете, погрешно въведени знаци, за да хващат окото, и може да се коригира незабавно и не по-късно? "В Notepad ++ такъв вариант не е бил там. Можете да зададете отделни шрифтове, размери, цветове за различни езици за програмиране, за различните типове данни - променливи, редове, резервирани думи и т.н. но не и за кирилицата.
Тогава си помислих, че може би там е плъгин, който ви позволява да се постигне това. Но търсенето на такава добавка е била да не се ползват.
Ето, например, имената на посоченото по-горе се появяват, ако имената на променливи, за да зададете шрифта SimSun-ExtB (Options-> Определение stiley-> Font Style):
Ако отидете по-далеч, шрифта, в който може да се настрои кирилица за данни низ да се различава от латинската дума, например, SimSun-ExtB, а в други страни, например, за променливи, където обикновено не се изисква кирилица - шрифт, в които не кирилица. Например, шрифт Мариам фиксиран. Вместо на българските букви в тези шрифтове се показват и други знаци непосредствено очевидна.
Сравнете същите имена в шрифт Courier New на:
и шрифт Мириам Fixed:
Шрифтовете са много сходни, но във втория случай на кирилица погрешно въвеждане на практика се изключват.
Надяваме се, че този процес ще помогне на някой да се спести време и предотвратяване на тези елементарни, но тези гадни грешки в бъдеще.