A problem with the letters "İ" in Turkish and "i" in English.
Mehmetturker50 opened this issue · 3 comments
Skript/Server Version
> skript info
[21:52:34 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[21:52:34 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[21:52:34 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[21:52:34 INFO]: [Skript] Server Version: git-Paper-785 (MC: 1.16.5)
[21:52:34 INFO]: [Skript] Skript Version: 2.8.2 (skriptlang-github)
[21:52:34 INFO]: [Skript] Installed Skript Addons:
[21:52:34 INFO]: [Skript] - SkImage v1.8
[21:52:34 INFO]: [Skript] - Skellett v1.9.11 (https://forums.skunity.com/resources/skellett.24/)
[21:52:34 INFO]: [Skript] - SkWaze v3.0.9
[21:52:34 INFO]: [Skript] - skript-yaml v1.5
[21:52:34 INFO]: [Skript] - MongoSK v2.3.0 (https://github.com/Romitou/MongoSK)
[21:52:34 INFO]: [Skript] - MorkazSk v1.3
[21:52:34 INFO]: [Skript] - skript-reflect v2.4 (https://github.com/SkriptLang/skript-reflect)
[21:52:34 INFO]: [Skript] - skript-db v1.3.6
[21:52:34 INFO]: [Skript] - SkQuery v4.1.10
[21:52:34 INFO]: [Skript] - SkBee v1.15.3 (https://github.com/ShaneBeee/SkBee)
[21:52:34 INFO]: [Skript] - SkJade v1.4.2 (https://www.github.com/Ankoki-Dev/SkJade)
[21:52:34 INFO]: [Skript] - SkriptJSON v1.0.0
[21:52:34 INFO]: [Skript] Installed dependencies: None
Bug Description
If the Turkish letter "İ" is used twice in the same line, the script gives a "can't understand" error.
Expected Behavior
There shouldn't have been any errors.
Steps to Reproduce
this will giving error:
send "İİ" to player
this will not giving error:
send "İi" to player
and this will not giving error too:
send "ii" to player
Errors or Screenshots
Other
No response
Agreement
- I have read the guidelines above and affirm I am following them with this report.
This problem occurs in some places in the parser where toLowerCase()
is used. These places falsely assume that string.length() == string.toLowerCase(Locale.ENGLISH).length()
which is not guaranteed (notably for the character this issue mentions).
I think I recognise this, I'm pretty sure we had a similar (if not identical) issue in the past and it had something to do with the encoding and the escaping/closing of the string.