Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 11.09.2018, 22:07   #1
Студент
 
Регистрация: 08.09.2014
Сообщений: 16
Репутация: 10

Unhappy Кодировка cUrl для google script api

Всем привет, прошу помощи более опытных разработчиков. Задача следующая:
Есть гугл таблица, в которую вносятся изменения прямо с сайта при отправки формы. Реализовано посредством Google Script, развернуто как веб-приложение.
Цепочка выглядит примерно следующим образом: тригер отправки формы в js -> ajax запрос -> файл export.php -> отправка данных в google script api через cUrl

Код формы html
PHP код:
    <form action="" id="form" method="post">
        <
input id="name" type="text" name="first_name" required="">
        <
input id="email" type="email" name="email" required="">
        <
input id="phone" type="tel" name="custom_cell_phone" required="">
        <
button type="submit" class="main_button">Отправить</button>
    </
form
Код js-обработчика
PHP код:
$('#form').submit(function() {
    var 
name = $('#form input#name').val(),
        
email = $('#form input#email').val(),
        
phone = $('#form input#phone').val();
    
    $.
ajax({
        
url"/export.php",
        
method"POST",
        
data: {
            
namename,
            
emailemail,
            
phonephone
        
}
    });
}); 
Код файла export.php
PHP код:
if( $curl curl_init() ) {
    
$name "Петя";
    
$email $_POST***91;'email'***93;;
    
$phone $_POST***91;'phone'***93;;
    
curl_setopt($curlCURLOPT_URL'https://script.google.com/macros/s/**script-app-id**/exec?name='.$name.'&email='.$email.'&phone='.$phone.'');
    
$out curl_exec($curl);
    echo 
$out;
    
curl_close($curl);

В итоге скрипт в google таблице принимает значения и вписывает их в ячейки и все вроде корректно, НО проблема заключается в том, что если значение передается на кириллице, то оно отображается непонятными символами (знак вопроса в черном ромбе - �). Где и как именно кодировку нужно поменять, что бы отображалась человеческая кириллица?
Если что, то в хеде страницы указанна кодировка utf-8.
kolegiant вне форума   Ответить с цитированием

Реклама
Старый 11.09.2018, 23:04   #2
Sitealert
Слесарь-сайтосборщик
 
Регистрация: 30.09.2016
Адрес: Замкадье
Сообщений: 5,094
Репутация: 348366

По умолчанию Re: Кодировка cUrl для google script api

С файлом export.php разбирайтесь.
__________________
Отпилю лишнее, прикручу нужное, выправлю кривое.
Вытравлю вредителей.
Sitealert вне форума   Ответить с цитированием
Старый 12.09.2018, 09:16   #3
kolegiant
Студент
 
Регистрация: 08.09.2014
Сообщений: 16
Репутация: 10

ТопикСтартер Re: Кодировка cUrl для google script api

Цитата:
С файлом export.php разбирайтесь.
Ну это я понял, что проблема именно с php файлом) Вот только каким образом можно изменить кодировку отправляемых данных в нем?
kolegiant вне форума   Ответить с цитированием
Старый 12.09.2018, 10:58   #4
Sitealert
Слесарь-сайтосборщик
 
Регистрация: 30.09.2016
Адрес: Замкадье
Сообщений: 5,094
Репутация: 348366

По умолчанию Re: Кодировка cUrl для google script api

Цитата:
Сообщение от kolegiant Посмотреть сообщение
каким образом можно изменить кодировку отправляемых данных в нем?
Как-то так.
Sitealert вне форума   Ответить с цитированием
Старый 12.09.2018, 13:00   #5
kolegiant
Студент
 
Регистрация: 08.09.2014
Сообщений: 16
Репутация: 10

ТопикСтартер Re: Кодировка cUrl для google script api

Цитата:
Сообщение от Sitealert Посмотреть сообщение
Как-то так.
Попробовал в utf-8 переобразовать. И не сработало(
PHP код:
mb_convert_encoding($name"utf-8"); 
Зато сработало следующее, если кому-то пригодится:
PHP код:
curl_setopt($curlCURLOPT_URL'https://script.google.com/macros/s/**google-script-api**/exec?name='.urlencode($name).''); 
kolegiant вне форума   Ответить с цитированием
Ответ

Метки
curl , google script , google sheets , php , кодировка



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны