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

K
На сайте с 08.09.2014
Offline
31
1467

Всем привет, прошу помощи более опытных разработчиков. Задача следующая:

Есть гугл таблица, в которую вносятся изменения прямо с сайта при отправки формы. Реализовано посредством Google Script, развернуто как веб-приложение.

Цепочка выглядит примерно следующим образом: тригер отправки формы в js -> ajax запрос -> файл export.php -> отправка данных в google script api через cUrl

Код формы html


<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-обработчика


$('#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: {
name: name,
email: email,
phone: phone
}
});
});

Код файла export.php


if( $curl = curl_init() ) {
$name = "Петя";
$email = $_POST['email'];
$phone = $_POST['phone'];
curl_setopt($curl, CURLOPT_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.

S
На сайте с 30.09.2016
Offline
469
#1

С файлом export.php разбирайтесь.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
K
На сайте с 08.09.2014
Offline
31
#2
С файлом export.php разбирайтесь.

Ну это я понял, что проблема именно с php файлом) Вот только каким образом можно изменить кодировку отправляемых данных в нем?

S
На сайте с 30.09.2016
Offline
469
#3
kolegiant:
каким образом можно изменить кодировку отправляемых данных в нем?

Как-то так.

K
На сайте с 08.09.2014
Offline
31
#4
Sitealert:
Как-то так.

Попробовал в utf-8 переобразовать. И не сработало(

mb_convert_encoding($name, "utf-8");

Зато сработало следующее, если кому-то пригодится:

curl_setopt($curl, CURLOPT_URL, 'https://script.google.com/macros/s/**google-script-api**/exec?name='.urlencode($name).'');

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий