CodeBlocks IDE ortamında geliştirdiğimiz uygulamalarda, geniş karakterler (wchar_t) içinde Türkçe karakterler kullandığımızda, derleyici aşağıdaki hatayı vermektedir:
Converting to execution character set: Illegal byte sequence
Bu sorunu düzeltmek için 2 farklı yöntem kullanabiliriz:
1. Derleyici seçeneklerini değiştirmek
CodeBlocks IDE menüsünden aşağıdaki sıra ile açılan Other compiler options sekmesinde -finput-charset=latin5 değerini girmemiz yeterli olacaktır.Project -> Build options -> Compiler settings -> Other compiler options
Yukarıdaki düzenlemeyi yaptığımızda, program dosyamızın başına #include <locale.h> satırını ekleyerek setlocale(LC_ALL, "Turkish"); işlem satırını kullansak bile, komut satırında Türkçe karakterler düzgün bir şekilde görünmez.
#include <stdio.h>
#include <locale.h> // Etkisi olmaz.
int main(void)
{
setlocale(LC_ALL, "Turkish"); // Etkisi olmaz.
printf("üğşçöıÜĞİŞÇÖ");
return 0;
}
2. Unicode karakter kodu kullanmak
ş – \u015f
Ş – \u015e
ç – \u00e7
Ç – \u00c7
ı – \u0131
İ – \u0130
ö – \u00f6
Ö – \u00d6
ğ – \u011f
Ğ – \u011e
ü – \u00fc
Ü – \u00dc