使用 Google Calendar API (PHP) 插入包含非 ASCII 字符的事件

2023-12-02

我在使用 Google Calendar API (PHP) v3 插入事件时遇到问题。

如果事件的说明包含井号 £ 等字符,则会在日历中创建该事件,但说明留空。似乎对于初始 7 位字符代码(ASCII 代码 0-127)之外的所有字符都是如此。

通过使用 htmlentities 函数,我可以将井号的所有实例替换为:£

如果用户使用基于网络的 Google 日历版本,但移动应用程序不会将其转换回井号,则这很好。

这是一个相当大的问题,因为事件通常是从使用非 ASCII 引号的 Microsoft Word 复制/粘贴的。

是否有某种编码方法可以解决这个问题?我目前在 MySQL 数据库和 PHP 脚本中使用 UTF-8 编码。

我使用以下代码来创建事件:

function buildGoogleEvent($title,$description,$start_time,$end_time,$location) {
    // Create an event object and set some basic event information
    $event = new Google_Event();
    $event->setSummary($title);
    $event->setLocation($location);
    $event->setDescription(htmlentities($description, ENT_NOQUOTES, 'utf-8'));

    // Convert the start and end date/times to ATOM format
    $start_time_atom = str_replace(" ", "T", $start_time);
    $end_time_atom = str_replace(" ", "T", $end_time);

    // Add the event start to the event object
    $start = new Google_EventDateTime();
    $start->setDateTime($start_time_atom);
    $start->setTimeZone('Europe/London');
    $event->setStart($start);

    // Add the event end to the event object
    $end = new Google_EventDateTime();
    $end->setDateTime($end_time_atom);
    $end->setTimeZone('Europe/London');
    $event->setEnd($end);

    return $event;
}

此代码插入事件:

$createdEvent = $service->events->insert($google_calendar_id, $event);

已经坐了很长一段时间了,所以非常感谢任何帮助!我的PHP版本是5.5.4。


事实证明有一个简单的解决方案。我将 HTTP 标头设置为使用 utf-8 字符集,但没有专门对我的描述进行编码。要将我的描述添加到我现在使用的事件中:

$event->setDescription(utf8_encode($description));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Google Calendar API (PHP) 插入包含非 ASCII 字符的事件 的相关文章

  • 通过 XMLHttpRequest 将数据从 JavaScript 发送到 PHP

    再会 我正在尝试将一段简单的数据从一个 php 文件 manage php 发送到另一个 view php 我无法通过表单发送数据 我想通过 JS 脚本发送数据 这是我的尝试 var read function id xmlhttp new
  • XDebug 与 Symfony 和 PhpStorm 不起作用(Ubuntu 安装)

    关于我的系统的事实乌班图15 10PHP 5 6 11交响乐2 7PhpStorm 10调试2 4我真的很难让 xdebug 在 PhpStorm 的 Symfony 项目下工作 我安装了xdebug 在我的 etc php5 apache
  • 返回变量在 PHP 中不起作用(即没有返回值!)

    我更喜欢使用 Python 语言进行编程 但必须使用 PHP 来处理特定的网站应用程序项目 在 PHP 中 我试图将函数中的值 返回 到主程序环境 用于后续计算 但无论我尝试什么 函数中计算的值都不会返回该值 而是从函数中回显 工作正常 在
  • 如何通过键查找最大和最小日期

    我有一个数组 a array 2010 05 03 gt 100 2010 05 04 gt 400 2008 05 01 gt 800 2011 01 01 gt 800 我如何找到最大值和最小值key date 例如 max gt 20
  • 如何在 标签中用 %20 替换空格

    我想替换 html 文本的图像标签中的所有空格 Example img src to img src photo 201 jpg 我没有找到 preg replace 的解决方案 但它可能是一个简单的正则表达式行 谢谢 Edit 抱歉各位
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • 通过 Javascript 获取一个月中的几周

    在 Javascript 中 如何获取一个月中的周数 我似乎无法在任何地方找到这方面的代码 我需要它才能知道给定月份我需要多少行 更具体地说 我想要一周中至少有一天的周数 一周定义为从星期日开始到星期六结束 所以 对于这样的事情 我想知道它
  • php 在内容前插入十六进制字符数

    我正在将网站移动到新服务器 旧服务器有 php 5 3 2 新服务器有 php 5 5 9 Centos httpd Apache 2 2 26 我已经复制了文件 它工作正常 除了唯一奇怪的事情 一些奇怪的十六进制数字被插入到页面内容之前
  • 为什么我应该使用 $_GET 和 $_POST 而不是 $_REQUEST? [复制]

    这个问题在这里已经有答案了 除此之外 REQUEST从 cookie 读取 有什么理由我应该使用 GET and POST代替 REQUEST 这样做的理论和实践理由是什么 当我只想让用户的某些数据返回某些数据时 我使用 REQUEST 当
  • 如何在 PHP 中正确分割路径

    执行以下操作的最佳方法是什么 我通过 AJAX 请求获取路径 e g dir1 dir2 dir3 dir4 我需要在我的网页上这样展示它 dir1 gt gt dir2 gt gt dir3 gt gt dir4 它们每个都是 html
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • 使用 PDO 在 SQLite 中检索单个(且唯一)行的最简单方法

    我有这个 PDO stmt db gt prepare SELECT FROM channels WHERE id id stmt gt bindValue id id SQLITE3 INTEGER result stmt gt exec
  • cURL '格式错误的网址'

    This url 在浏览器中工作得很好 但 cURL 返回错误 3 格式错误的 url 关于解决方法有什么想法吗 EDIT 卷曲代码 function get web page url options array CURLOPT RETUR
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que

随机推荐

  • 在 bash 中无需按 ctrl+r 即可触发反向搜索的替代方法

    The reverse i search facility in bash is useful but it is unlike most other bash commands in that it seems to be bound t
  • 在 WinRT 和 C# 中使用 HttpRequestHeaders

    我正在使用 HttpWebRequests 联系 API 需要添加标头 但编译器告诉我该方法不存在 然而 当我查看 MSDN 时 它告诉我该方法已经存在 设置我的 UserAgent 属性也失败 有人可以帮我吗 try HttpWebReq
  • 如何使用 SSIS 将大型平面文件加载到数据库表中?

    我不确定它是如何工作的 所以我正在寻找正确的解决方案 我认为 SSIS 是正确的方法 但我以前从未使用过它 设想 每天早上 我都会收到一个包含 800K 记录的制表符分隔文件 我需要将其加载到我的数据库中 从 ftp 或本地获取文件 Fir
  • 在浏览器中 Flash 至全屏

    如何使我的 Flash 应用程序在浏览器中处于全屏模式 我知道舞台可以置于该模式 但是当我在任何浏览器中运行应用程序时 这不起作用 那么 这是可以做到的 但是如何做到呢 在包含 Flash SWF 的 HTML 中 将以下参数添加到 标记中
  • 我应该如何使用 Django 中的电子签名 Web 应用程序的邀请和收件人来构建数据库实体?

    我有兴趣为我的电子签名 Web 应用程序实现以下要求 用户可以创建新的签约合同 该合同可以包括多个用户来签署 合约创建者需要提供emails的收件人 每个收件人都会分配额外的数据 例如签名详细信息 说明等 但是 受邀请的用户仍然可以系统中不
  • 为 XNA 游戏实现简单的基于 XML 的脚本语言

    我正在与一个团队合作使用 C 和 XNA 开发 RPG 引擎 我们计划针对 Windows 和 Windows Phone 7 但在过场动画期间遇到 AI 交互和控制玩家操作的问题 大多数情况下 所有内容都是使用 MVC 设计模式提取的 但
  • 在公共块中拥有全局变量是未定义的行为吗?

    0 c int i 5 int main return i 1 c int i 上面编译得很好gcc 0 c 1 c没有任何链接错误multiple definitions 原因是i生成为common blocks fcommon whic
  • ASP.NET MVC 中使用 SSL 操作过滤器重定向循环

    我正在使用 ActionFilter 见下文 来检测 1 当前控制器 操作是否需要 SSL 以及 2 当前正在使用 SSL 并相应地重定向 这在本地工作正常 在 IIS 7 中使用虚拟证书 但是一旦我在服务器上启动它 我就会收到一条错误 指
  • 在 Android 中发送 HTML 格式的电子邮件

    我已经成功创建了一个 Android 应用程序 它可以计算价格 然后能够以预先格式化的方式将该数据传输到用户选择的电子邮件程序 根据用户在应用程序中创建的数据 包含 HTML 的字符串将被读入意图 我为此的代码是 final Intent
  • 模拟使用外部类的方法,mockito

    我对mockito很陌生 只是想了解它是如何工作的 我有一个方法想要测试 该方法实例化多个类以使用其方法 e g methodToTest class1 c1 new class1 class2 c2 new class2 class3 c
  • TypeScript 条件返回值类型?

    function f x boolean string return x f true boolean string 为什么打字稿不能理解返回值是布尔值 function f x boolean string return typeof x
  • 如何将多维数组传递到 CodeIgniter 中的视图

    这真是让我抓狂了 我将多维数组传递给这样的视图 res this gt deliciouslib gt getRecentPosts 正如你所看到的 这是我正在使用的美味 API result 是一个数组 print r result 给出
  • 同步异步队列

    我计划有一个基于异步队列的生产者 消费者实现来处理实时数据 其中以正确的时间顺序发送数据至关重要 这是它的代码片段 async def produce Q n jobs for i in range n jobs print f Produ
  • 你建议不要使用基于 javascript 的 LESS 吗?

    After I 观看了这个 NetTUTs 视频 我对尝试所示的 LESS js 方法非常感兴趣 除了显而易见的问题之外 如果用户没有启用 javascript 怎么办 或 性能将会受到轻微影响 这是否有原因不能在生产中使用 LESS 本质
  • 如何强制多态中的隐式转换?

    请考虑这个例子 我们如何在第二个参数是指向成员函数的指针的函数中强制隐式转换 在函数的参数列表中显式转换并不是我现在想要实现的目标 相反 我希望编译器以某种方式这样做 就像使用第一个参数一样 struct Base virtual Base
  • java.lang.NoClassDefFoundError:android.support.v7.appcompat.R$styleable

    我正在使用终端 不是 eclipse 我在使用时遇到以下异常错误emulator debug成功并安装成功 但模拟器显示Unfortunatly app has stop 然后我跑 adb logcat它将显示以下内容 java lang
  • Eclipse 变得疯狂(自从 SDK Lollipop 更新以来)

    我好几天都写不出代码了 当我尝试编辑布局时 Eclipse 通常会返回此错误 并创建新项目 新的 xml 文件 尝试运行项目 解析Sdk内容失败java lang ExceptionInInitializerError 解析Sdk内容失败无
  • C 中 *myptr++ 和 *(myptr++) 有什么区别

    我正在使用C 假设我有一个指向名为 myptr 的整数的指针 int myptr 那么以下之间有什么区别 myptr and myptr 谢谢 担 Since 优先级高于 有没有不同两者之间
  • PHP 5.2.14 的 DateTime::CreateFromFormat [重复]

    这个问题在这里已经有答案了 我使用以下代码将用户输入转换为 mysql 时间戳 datetime DateTime createFromFormat m d Y g i a exp timestamp datetime gt format
  • 使用 Google Calendar API (PHP) 插入包含非 ASCII 字符的事件

    我在使用 Google Calendar API PHP v3 插入事件时遇到问题 如果事件的说明包含井号 等字符 则会在日历中创建该事件 但说明留空 似乎对于初始 7 位字符代码 ASCII 代码 0 127 之外的所有字符都是如此 通过