В чем может быть проблема? (SQLite)
#1

Суть: Сервер не распознает как русский текст, который загружает в БД.

Как всё происходит: Добавляю в БД русский текст. (Слово "Ленивый")
В БД он выглядит как "�������" (если смотреть через SQLiteDatabaseBrowserPortable)
Позже, загружаю из БД обратно на сервер в массив, текст уже обретает нормальный вид.

Проблема, когда пропускаю загруженное слово из массива через ф-ию:
PHP код:
FixText(string[]) {
    new 
result[256];
    
printf("Фиксануло, до: %s",string);
    for(new 
i=0strlen(string); i++) {
        switch(
string[i]) {
            case 
'а':result[i] = 'a';
            case 
'А':result[i] = 'A';
            case 
'б':result[i] = '—';
            case 
'Б':result[i] = 'Ђ';
            case 
'в':result[i] = 'ў';
            case 
'В':result[i] = '‹';
            case 
'г':result[i] = '™';
            case 
'Г':result[i] = '‚';
            case 
'д':result[i] = 'љ';
            case 
'Д':result[i] = 'ѓ';
            case 
'е':result[i] = 'e';
            case 
'Е':result[i] = 'E';
            case 
'ё':result[i] = 'e';
            case 
'Ё':result[i] = 'E';
            case 
'ж':result[i] = '›';
            case 
'Ж':result[i] = '„';
            case 
'з':result[i] = 'џ';
            case 
'З':result[i] = '?';
            case 
'и':result[i] = 'њ';
            case 
'И':result[i] = '…';
            case 
'й':result[i] = 'њ';
            case 
'Й':result[i] = '…';
            case 
'к':result[i] = 'k';
            case 
'К':result[i] = 'K';
            case 
'л':result[i] = 'ћ';
            case 
'Л':result[i] = '‡';
            case 
'м':result[i] = 'Ї';
            case 
'М':result[i] = 'M';
            case 
'н':result[i] = '®';
            case 
'Н':result[i] = '-';
            case 
'о':result[i] = 'o';
            case 
'О':result[i] = 'O';
            case 
'п':result[i] = 'Ј';
            case 
'П':result[i] = 'Њ';
            case 
'р':result[i] = 'p';
            case 
'Р':result[i] = 'P';
            case 
'с':result[i] = 'c';
            case 
'С':result[i] = 'C';
            case 
'т':result[i] = '¦';
            case 
'Т':result[i] = 'Џ';
            case 
'у':result[i] = 'y';
            case 
'У':result[i] = 'Y';
            case 
'ф':result[i] = '?';
            case 
'Ф':result[i] = 'Ѓ';
            case 
'х':result[i] = 'x';
            case 
'Х':result[i] = 'X';
            case 
'ц':result[i] = ' ';
            case 
'Ц':result[i] = '‰';
            case 
'ч':result[i] = '¤';
            case 
'Ч':result[i] = 'Ќ';
            case 
'ш':result[i] = 'Ґ';
            case 
'Ш':result[i] = 'Ћ';
            case 
'щ':result[i] = 'Ў';
            case 
'Щ':result[i] = 'Љ';
            case 
'ь':result[i] = '©';
            case 
'Ь':result[i] = '’';
            case 
'ъ':result[i] = 'ђ';
            case 
'Ъ':result[i] = '§';
            case 
'ы':result[i] = 'Ё';
            case 
'Ы':result[i] = '‘';
            case 
'э':result[i] = 'Є';
            case 
'Э':result[i] = '“';
            case 
'ю':result[i] = '«';
            case 
'Ю':result[i] = '”';
            case 
'я':result[i] = '¬';
            case 
'Я':result[i] = '•';
            default:
result[i]=string[i];
        }
    }
    
printf("Фиксануло, после: %s",result);
    return 
result;

выдает в лог:
Quote:

[13:57:48] Фиксануло, до: Ленивый
[13:57:48] Фиксануло, после: Ленивый

"Принудительная" фиксация работает нормально:
PHP код:
printf("Фиксануло,\"Ленивый\": %s",FixText("Ленивый")); 
выдает в лог:
Quote:

[13:57:11] Фиксануло, до: Ленивый
[13:57:11] Фиксануло, после: ‡e®њўЁњ
[13:57:11] Фиксануло,"Ленивый": ‡e®њўЁњ

Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)