27 Eylül 2013 Cuma

Maven Türkçe karakter build problemi

Windows altında sistem lokalinizi ve karakter kodlamanızı İngilizce yaptığınız halde, maven ile build işlemi yaptığınızda Türkçe karakterler sıkıntı yaratıyorsa (Ör: 'I' karakterinin build sırasında 'ı' yapılması gibi); bunun nedeni java lokalinizin hala cp1254 olması olabilir.

Problemi düzeltmek için mvn komutunuzu;
-Dfile.encoding=cp1252 komutuyla çağırabilirsiniz. Ör : mvn -Dfile.encoding=cp1252 clean compile

Eğer ben bununla uğraşmam diyorsanız, Environment Variables altındaki MAVEN_OPTS variable'ına -Dfile.encoding=cp1252 değerini ekleyebilirsiniz.

Güncel encoding değerini mvn --version ile inceleyebilirsiniz.

Ekleme :
Eğer locale değerini de değiştirmek isterseniz variable'ına -Duser.country=US -Duser.language=en ' parametrelerini ekleyebilirsiniz.

Microsoft Word belgesi içerisinde geçen tüm mail adreslerini alma

Microsoft ve ürünlerini çok fazla sevmesem de, biraz da zorunluluktan Microsoft Office Word'ü kullanıyorum. Elimdeki metin belgesi içerisinden tüm email bilgilerini çekmem gerekti. Belgede yüzlerce mail adresi olduğundan da, elle kopyala yapılştır yapmak zaman alıcıydı.
Örnek :

Örnek belge şu şekilde :
Asdfasdf : ali@ali.com
İkinci adamımız burada : veli@veli.com
Komikmiş bu da : komik.li@komikli.com
Subdomainli : sub@sub.domain.com
Belge içerisindeki tüm mail adreslerini almak için kullanılacak yöntemse :
Word -> Gelişmiş Bul (Advenced Search) -> Aranan kısmına şunu girmelisiniz :
[a-zA-Z0-9\-_.]{1;}\@[a-zA-Z0-9\-_.]{1;}
"Joker karakter kullan" seçimini aktif hale getirmelisiniz.
"Bulunacak Yer" kısmından "Asıl Belge" 'yi seçmelisiniz. Şu an aşağıdaki duruma gelmiş olmalısınız :

"Bul ve Değiştir" ekranını kapattığınız anda mail adresleri hala seçili kalacaktır. Ctrl + c kombinasyonuyla seçili mail adreslerini kopyalayıp istediğiniz bir yere Ctrl + v ile yapıştırabilirsiniz.
Sonuç :
sub@sub.domain.com
komik.li@komikli.com
veli@veli.com
ali@ali.com
Kolay gelsin.

19 Eylül 2013 Perşembe

Windows'ta lokal değişikliği yapmadan karakter kodlamasını (character encoding) değiştirme

İngilizce yazdığınız bir metinde bazı Türkçe karakterleri uppercase, downcase yaptınızda meydana gelen durum sinir bozucu olabiliyor. Örnek vermek gerekirse, 'i' karakterini büyük harfe çevirdiğinizde ortaya 'İ' karakteri çıkıyor. Oysa sizin beklentiniz 'I' karakterinin çıkması. Üstelik bu durum meydana geldiğinde işletim sisteminizi İngilizce olarak kullanıyor dahi olabilirisiniz.

Eclipse altında Java kodu yazarken yarattığım boolean ismail; isimli değişkenin getter ve setter metodlarını generate ettiğimde ortaya boolean isİsmail()  gibisinden bir hede çıktı. Eclipse'in kendi properties dosyalarından bu duruma müdahale etmek mümkün. Ancak benzeri durumlar MAVEN generation işlemlerinde, web serverlar üzerinde ve database bağlantıları üzerinde de meydana gelebiliyor.

Windows'un locale değerini değiştirmeden bu sorun şu şekilde halledilebilir :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage altındaki;

  • ACP -> 1254 değerini ACP -> 1252 olarak değiştirin
  • OEMCP -> 857 değerini OEMCP -> 437 olarak değiştirin
Tabii, ne gerek var derseniz, doğrudan Control Panel --> Region and Language --> Administrative --> Change Sytem Locale diğerek benzeri bir işlemi gerçekleştirebilirsiniz. Yalnız bu durumda lokalinizin de değişeceğini unutmayın.

Ayrıca, eğer developer iseniz, siz siz olun asla Windows'ta dahi olsa yaptığınız projenizi saçma sapan encodingler kullanarak yazmayın.cp1254 ne yahu? Mis gibi UTF-8 yapmış adamlar. Hatta, şansınız varsa Windows bile kullanmayın.
Related Posts Plugin for WordPress, Blogger...