powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php+иероглифы
3 сообщений из 3, страница 1 из 1
php+иероглифы
    #37748099
Zhenek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Делаю для сайта поиск.

Вводим русские символы, через бинг перевожу и получаю иероглифы, которые нужно вставить в урл и перейти по нему..

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
 $value=iconv("windows-1251", "UTF-8", $_POST['text']); // То, что вы хотите перевести
 $appid="F0F6345C7A5062103E0693B9CBA6CE852CEF5BA7"; // AppID от Бинга, который вы получили после регистрации
 $from="ru"; // С какого языка будем переводить
 $to="zh-CHS"; // На какой
 $result=file_get_contents("http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=".$appid."&from=".$from."&to=".$to."&text=".urlencode($value));
 $result = str_replace("\"","",$result);
echo $result; // выводим переведенное слово на кит.язык
 //echo "<script>document.location.href='http://s.taobao.com/search?q=".rawurlencode($result)."'</script>";



вместо rawurlencode($result) пробовал и urlencode($result) и просто отсылать

в итоге в урле иероглифы кодируются так: %EF%BB%BF%E7%9F%AD%E8%A3%A4
а должны так: %B6%CC%BF%E3

сами иероглифы для примера взял : 短裤
по русски шорты

как правильно и какой ф-ей подготовить их для перехода?

п.с апи ключ не действителен, заменил символы
...
Рейтинг: 0 / 0
php+иероглифы
    #37753814
Zhenek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели никто не знает(

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 $value=iconv("windows-1251", "UTF-8", $_POST['text']); // То, что вы хотите перевести
 $appid="F0F6345C7A5063103E0693B1CBA6CE231CEF5BA7"; // AppID от Бинга, который вы получили после регистрации
 $from="ru"; // С какого языка будем переводить
 $to="zh-CHS"; // На какой
 $result=file_get_contents("http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=".$appid."&from=".$from."&to=".     $to."&text=".urlencode($value));
 $result = str_replace("\"","",$result);
echo $result;  // получили иероглифы, правильные все норм.
echo mb_detect_encoding($result); // говорит в кодировке UTF-8

echo mb_convert_encoding($result, 'utf-8', 'gb2312'); // Попытка переконвертировать так, выводит пустой результат
$result = iconv('UTF-8', 'gb2312',$result);  
echo $result ; // А вот так показывает иероглифы норм

echo mb_detect_encoding($result);  // Но вот тут нам говорят что кодировочка то не GB2312 , а ANCII !!!

echo urlencode($result); // и скорее всего из-за ANCII тут пусто.


//А вот если сделать так:
$result = iconv('UTF-8', 'gb2312','&#24773;&#20387;');   // т.е передать иероглиф прямо текстом
echo urlencode($result); //  то получим правильный урл енкоде.  ПОЧЕМУ? ((
...
Рейтинг: 0 / 0
php+иероглифы
    #37764290
Allexy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zhenek,
На Delphi делаю вот так:
Код: pascal
1.
2.
3.
4.
5.
   
...
 Self.WbTaoBao.Navigate(TidURI.URLEncode('http://search8.taobao.com/search?q=' + UserQuery,
        TEncoding.GetEncoding(54936)));
...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php+иероглифы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]