title: Youtube API - The request metadata specifies an invalid video description
body: <p>I know this question is duplcated, but the phenomena is different.</p>
  
  <p>I use Youtube API PHP to upload my videos. Unfortunately, its caught errors:</p>
  
  <pre><code>{
      "status": "fail",
      "mess": "Failed to start the resumable upload (HTTP 400: youtube.video, The request metadata specifies an invalid video description.)"
  }
  </code></pre>
  
  <p>I checked the description. Use <code>mb_strlen()</code> return result less than 5000 characters.</p>
  
  <pre><code>$title = mb_substr($title, 0, 100);
  $description = mb_substr($description , 0, 4999);
  $tags = array_slice($tags, 0, 15);
  
  $snippet = new Google_Service_YouTube_VideoSnippet();
  $snippet-&gt;setTitle($title);
  $snippet-&gt;setDescription($description);
  $snippet-&gt;setTags($tags);
  $snippet-&gt;setCategoryId("22");
  
  $status = new Google_Service_YouTube_VideoStatus();
  $status-&gt;privacyStatus = "public";
  
  $video = new Google_Service_YouTube_Video();
  $video-&gt;setSnippet($snippet);
  $video-&gt;setStatus($status);
  </code></pre>
  
  <p>Have some special characters exist: <code>&lt;&gt;</code>, <code>|</code>, <code>'</code> (single qoute), <code>()</code>, <code>?</code>, <code>"</code> (double quote). <br>
  I researched about this error, but not any results :(</p>