SMS Unicode & amp; Codage GSM en PHP

(Mis à jour un peu)

Je ne suis pas très expérimenté avec l'internationalisation à l'aide de PHP, il faut le dire, et une partie de la recherche n'a pas vraiment fournir les réponses que je cherchais.

Je suis dans le besoin d'un moyen fiable pour convertir uniquement "' texte en Unicode pour envoyer un message SMS, à l'aide de PHP (seulement temporairement, tandis qu'un service est réécrite en utilisant C#) - évidemment, les messages envoyés à l'heure actuelle sont envoyés en texte clair.

Je pourrait tout convertir le jeu de caractères Unicode (par opposition à l'aide de la norme GSM charset), mais cela signifierait que tous messages serait limité à 70 caractères (au lieu de 160).

Donc, je crois que ma vraie question est: quel est le moyen le plus fiable pour détecter l'exigence d'un message encodé en Unicode, donc je n'ai qu'à le faire quand il est absolument nécessaire (par exemple, pour les non-latine-les caractères de la langue)?

Ajout D'Infos:

Ok, donc j'ai passé la matinée à travailler sur ce point, et je ne suis toujours pas plus loin que quand j'ai commencé (certainement dû à mon absence totale de compétence quand il s'agit de conversion de jeux de caractères). Voici donc la version révisée du scénario:

J'ai des SMS, des messages provenant d'une source externe, cette source externe fournit les réponses à m'en texte brut + unicode barre-des caractères d'échappement. E. g. le "affiché" du texte:

Nous allons tester öäü éàè אין תמיכה בעברית

Retourne:

Nous allons tester \u00f6\u00e4\u00fc \u00e9\u00e0\u00e8 \u05d0\u05d9\u05df \u05ea\u05de\u05d9\u05db\u05d4 \u05d1\u05e2\u05d1\u05e8\u05d9\u05ea

Maintenant, je peux envoyer mon fournisseur SMS en clair, GSM 03.38 ou Unicode. De toute évidence, l'envoi de la ci-dessus en clair les résultats dans beaucoup de caractères manquants (ils sont remplacés par des espaces par mon fournisseur) - je besoin pour s'adapter relatives à ce contenu, il est. Ce que je veux ne avec ce est la suivante:

  1. Si tout le texte est à l'intérieur de la GSM 03.38 page de codesenvoyez-le comme ça. (Mais tous les caractères hébreux ci-dessus correspondent à cette catégorie, mais ont besoin d'être convertis.)
  2. Autrement, de les convertir en Unicode, et de l'envoyer plus de messages multiples (comme l'Unicode limite est de 70 caractères n'est pas 160 pour un SMS).

Comme je l'ai dit ci-dessus, je suis perplexe sur le fait de faire cela en PHP (C# n'est pas vraiment un problème en raison des fonctions de conversion intégré), mais il est très probable que je suis en manque juste l'évidence, ici. Je ne pouvais pas trouver tout de pré-faites la conversion des classes pour les 7 bits de codage en PHP, soit - et mes tentatives de convertir la chaîne de moi-même et l'envoyer sur semblait futile.

Toute aide serait grandement appréciée.

source d'informationauteur James B