Discussion Board

Results 1 to 4 of 4
  1. #1
    Registered User Ed123's Avatar
    Join Date
    Jun 2008
    Posts
    1
    Проблема с русскими словами.
    А т.е. есть пользователи с сотовыми телефонами с мидлетом(J2ME), есть БД Mysql. при вводе латиницы никаких проблем. С русскими буквами - кракозябры.
    Схема такая:
    Сотовый(кодировка Unicode) ----- PHP ---\
    Др. сотовый(кодировка Unicode) - PHP - БД (MySQL)
    Комп (кодировка win1251)-------- PHP ---/

    Надеюсь, что понятно, что это трехзвенная схема.
    Так как на компе кодировка win1251. а на телефонах Unicode,
    в MySQL тоже можно разную кодировку выстывить.
    т.е. попростому сделать не получается.
    Прошу подсказать, кто уже делал подобное. как нужно выставить кодировки и какие функции использовать в PHP или в J2ME для правильного перекодирования русских букв.

  2. #2
    Registered User Red Falcon's Avatar
    Join Date
    Feb 2008
    Location
    Russia, Samara
    Posts
    47
    Мне кажется, что PHP тебе возвращает страницу в Win1251. Я однажды столкнулся с подобной проблемой, решил её так:

    Code:
                int c = -1;
                StringBuffer sb = new StringBuffer();
                try {
                    while((c=isr.read())!=-1){
                        System.out.println(c);
                        if((c>=192)&&(c<=255))
                            c=c+848;
                        sb.append((char)(c));
    
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                    return "isr.read() "+ex.getMessage();
                }
    может, кривовато, но работает =) 192 и 255 - границы диапазона русских символов в win1251, 848 - фиксированое смещение unicode относительно win1251

  3. #3
    Registered User SlavaPO's Avatar
    Join Date
    Feb 2010
    Posts
    1
    Quote Originally Posted by Red Falcon View Post
    Мне кажется, что PHP тебе возвращает страницу в Win1251. Я однажды столкнулся с подобной проблемой, решил её так:

    Code:
                int c = -1;
                StringBuffer sb = new StringBuffer();
                try {
                    while((c=isr.read())!=-1){
                        System.out.println(c);
                        if((c>=192)&&(c<=255))
                            c=c+848;
                        sb.append((char)(c));
    
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                    return "isr.read() "+ex.getMessage();
                }
    может, кривовато, но работает =) 192 и 255 - границы диапазона русских символов в win1251, 848 - фиксированое смещение unicode относительно win1251
    Спасибо чувак, твой код мне здорово помог - 2 дня убил на кодировку в j2me

  4. #4
    Registered User ssealien's Avatar
    Join Date
    Dec 2007
    Location
    Питер
    Posts
    91
    Эмм или я чегото не понимаю
    Но почему нельзя сделать чтобы и комп работал с уникод.

Similar Threads

  1. crypting with J2ME decrypting with PHP
    By steady99 in forum Mobile Java General
    Replies: 26
    Last Post: 2012-10-04, 05:59
  2. PHP and J2ME
    By Talentc1 in forum Mobile Java General
    Replies: 0
    Last Post: 2008-03-03, 18:26
  3. Using XMLRPC and PHP in J2ME
    By davideikeland in forum Mobile Java General
    Replies: 0
    Last Post: 2006-05-04, 02:20
  4. J2ME MIDP 1.0 HTTPConnection POST and PHP page
    By alexandra_bustamante in forum Mobile Java Networking & Messaging & Security
    Replies: 0
    Last Post: 2004-07-22, 19:18

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved