【Swift】PHPを経由してMYSQLにiOSの絵文字を保存する

iOS で出てきた絵文字。

PHPを経由してMYSQLに絵文字を保存できるようにしてみる。

↓こちらのサイトを参考にした。

kotaeta.com

PHP設定スクリプトapiなど)

header('Content-Type: text/html; charset=utf-8');
ini_set("default_charset", "UTF-8");
mb_internal_encoding("UTF-8");
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "UTF-8");

mysqlテーブルまたは特定の列

utf8mb4

alaki.co.jp

MySQL PDO接続

$dsn = 'mysql:host=yourip;dbname=XYZ;charset=utf8mb4';
(...あなたの接続...)

クエリを実行する前に(必須ではない場合があります):

$dbh->exec("set names utf8mb4");

ここまでだけでは、うまくいかず、

以下のようにSwift から PHP へ 文字列をURLエンコードしたら、いけた。

swiftからPHPへは、URLエンコード が必要。

func urlEncode(string: String) -> String {
return string.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)!
}

PHP側では、URLデコードが必要。

urldecode(”文字列”);

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA