J'essaie d'enregistrer des émojis avec des données texte sur postgressql database with version PostgreSQL 9.4.15 et un encodage UTF8 dans mon Spring MVC Web application. J'avais utilisé le classement par défaut de la base de données dans utf8.. Je suis capable de sauvegarder les emojis avec les données texte dans la base de données, mais lors de la récupération des lignes en utilisant ma méthode dao, il affiche une erreur comme ci-dessous.

Des données de caractères non valides ont été trouvées. Cela est probablement dû à des données stockées contenant des caractères non valides pour le jeu de caractères dans lequel la base de données a été créée. L'exemple le plus courant est le stockage de données 8 bits dans une base de données SQL_ASCII.

Mon ami est le projet PCL Xamarin Forms. Existe-t-il un moyen de résoudre ce problème à partir du front-end lui-même ou de toute solution du backend?

Merci d'avance

2
K.Sumith 20 nov. 2018 à 15:46

3 réponses

Meilleure réponse

Il est très facile de résoudre ce problème depuis le frontal. Étant donné que votre serveur frontal est constitué de formulaires xamarin, vous devez encoder le contenu avant de l'envoyer au serveur et décoder le contenu lors de la récupération.

 System.Net.WebUtility.UrlEncode(*string*); // Encode
 System.Net.WebUtility.UrlDecode(*string*); // Decode
1
Sreejith Sree 3 déc. 2018 à 11:05

Une autre option à essayer: le client doit encoder le message en base 64 avant de l'envoyer au serveur et le décoder en base 64 avant de renvoyer les données au client. Cela devrait permettre aux emojis de fonctionner sur les applications clientes.

2
Vimal Mathew 29 nov. 2018 à 20:32

Vous devrez peut-être consulter l'article suivant Le guide ultime à Emojis pour avoir un aperçu de la façon dont cela peut être géré.

1
Vimal Mathew 23 nov. 2018 à 21:22