IntelliJ IDEA - Bug при ползване на кирилица като стойност на String -solution
Здравейтe,
Срещнах интересен bug докато копах по лаба с тестването на изпращане на имейл през абв. При регистрация на акаунта на полета за име и фамилия ги бях попълнил на кирилица.Тоест когато асъртвах дали е коректен логина ползвах стринг инициализиран с кирилица. Пуснах тества, уж всичко точно, ама теста гърмеше : expected : "???????" actual : "Иван Петров". Като очаквания стринг с който правех асърта беше String loginFullName = "Иван Петров" . След като се разрових се оказа, че проблема не е само при мен, а си е бъг на IntelliJ . Проблема се оправя като се доабви един ред в .idea.exe.vmoptions файла. При мен се намира :C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 14.1.4\bin\ , файла е текстов и с обикновен текстов редактор се редактира като се добавя следния ред :
-Dfile.encoding=UTF-8
Файла при мен изглежда така (след редакцията):
-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=150m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Dfile.encoding=UTF-8
След като го добавих този ред вече стринговете на кирлилица ми излизаха нормално и асърта ми минаваше без проблем.
Предполагам че това може би се е коментирало по време на самия лаб (onsite), ама реших за всеки случай да го постна на всеослушание.
JetBrains - явно са наясно с бъга и посоченото от мен е техния work-arround:
http://stackoverflow.com/questions/16081657/character-encoding-in-idea-output-of-assertionerror
https://youtrack.jetbrains.com/issue/IDEA-59459
Поздрави,
Яни