2010-09-12 21 views
0

Je suis un complet mySQL & noob PHP, et dans ma table, chaque fois qu'il y a une apostrophe, il est remplacé par". J'ai recherché et trouvé que c'était peut-être parce que ma table n'est pas UTF-8, mais j'ai changé tous les paramètres de classement dans phpMyAdmin à utf8_unicode_ci, et je reçois toujours le ". Pour être clair, j'envoie les données à un script PHP depuis une application iPhone en utilisant NSURLConnection. Dans l'URL qu'il charge, l'apostrophe est remplacée par% E2% 80% 99. Mon serveur fonctionne sous Linux.Apostrophe remplacé par "dans la table mySQL

Merci pour toute aide les gars!

+0

Plus de conseils: [PHP UTF-8 cheatsheet] (http://developer.loftdigital.com/blog/php-utf-8-cheatsheet). – BalusC

Répondre

3

Vous devez faire une requête avant le stockage des données:

SET NAMES utf8.

Apparemment, il est mysql_set_charset('utf8',$conn) dans 5.2+

+0

Droite. Je vais upvote si vous mentionnez la fonction PHP pour cela. En utilisant une requête 'SET NAMES' est considéré obsolète dans le monde PHP :) – BalusC

+0

Meh, je ne suis jamais suivre avec PHP. Est-ce que l'éditer? : p –

+0

Cela a fonctionné. Merci pour la réponse rapide! –

0

Le urlencoded se apostrophe. Vous devrez le décoder en utilisant urldecode du côté php, puis le mettre dans la base de données.

+0

PHP va par défaut déjà décoder l'URL. – BalusC