org.apache.http stops working in Android SDK 23

Issue

A project no longer compiles in Android Studio after switching from Android SDK v22 to v23. The compiler complains that it can not resolve symbol HttpClient, or that package org.apache.http does not exist.

Read more: org.apache.http stops working in Android SDK 23

Google Play Services automatically add new permissions

com.google.android.gms:play-services-ads:7.5.0

Issue

After upgrading Google Play Services from 6.1.11 to 7.5.0, bunch of new permissions are automatically added to the application's manifest.

Android Permissions

The app actually only uses Admob (Google Mobile Ads) libraries from Google Play Services and permissions such as "ACCESS_COARSE_LOCATION", "ACCESS_ACCOUNTS", "USE_CREDENTIALS" are completely unnecessary.

Read more: Google Play Services automatically add new permissions

Android - Some UTF-8 characters get lost during HttpPost

Issue

Some non ASCII characters get lost when submitting HttpPost (or HttpPut) requests to a remote web service. All text after the problematic character also gets stripped out.
There were no issues on the server side as other clients could submit any non standard characters without any issues.

Read more: Android - Some UTF-8 characters get lost during HttpPost

PHP json_encode() fails with error "Invalid UTF-8 sequence in argument"

Issue

PHP / MySQL web service fails to return JSON encoded data when it contains some non standard ASCII characters. Text in MySQL looks correctly and database has "utf8_unicode_ci" collation.
The issue occurs while running json_encode() function. The web service returns following error:

Type : Error Exception
Message: json_encode(): Invalid UTF-8 sequence in argument

Read more: PHP json_encode() fails with error "Invalid UTF-8 sequence in argument"