(Updated a little)
Ben çok PHP kullanarak uluslararasılaşma ile deneyimli değilim, bunun söylenmesi gerekir, ve arama bir anlaşma gerçekten ben aradığım cevaplar vermedi.
Ben (bir hizmet C # kullanarak yazılabilir iken, sadece geçici olarak) PHP kullanarak bir SMS mesajı göndermek için Unicode için sadece 'uygun' metni dönüştürmek için güvenilir bir yol çalışma dışarı ihtiyacı kulüpler - Açıkçası, şu anda gönderilen mesajlardır düz metin olarak gönderilir.
(Standart GSM charset kullanarak karşı) ben makul Unicode karakter kümesine her şeyi dönüştürmek olabilir, ama bu all mesajları (yerine 160) 70 karakter ile sınırlı olacağı anlamına gelecektir.
Yani, benim asıl soru sanırım: what is the most reliable way to detect the requirement for a message to be Unicode-encoded, so I only have to do it when it's absolutely necessary (e.g. for non-Latin-language characters)?
Added Info:
Tamam, ben bunun üzerinde çalışıyoruz sabah geçirdim, ve (bu dönüşüm charset geldiğinde nedeniyle yetkinlik eksikliği tamamlamak için kesinlikle) Ben başladığımda başka üzerinde daha hala yaşıyorum. Yani burada revize senaryo:
Ben metin SMS mesajları harici bir kaynaktan geliyor olması, bu dış kaynak düz metin + unicode çizgi-kaçtı karakter bana yanıtlar sağlar. Örneğin 'görünür' metni:
En OAU EAE אין תמיכה בעברית test edelim
İade:
En \ u00f6 \ u00e4 \ u00fc \ u00E9 \ u00e0 \ u00e8 \ u05d0 \ u05d9 \ u05df \ u05ea \ u05de \ u05d9 \ u05db \ u05d4 \ u05d1 \ u05e2 \ u05d1 \ u05e8 \ u05d9 \ u05ea test edelim
Şimdi, ben, düz metin olarak benim SMS sağlayıcı GSM 03,38 veya Unicode gönderebilir. Açıkçası, eksik karakterleri bir çok düz metin sonuçları (onlar benim sağlayıcısı tarafından boşluklarla yerini konum) gibi yukarıdaki gönderme - Ben orada ne içeriği ile ilgili uyum gerekir. I do bu ile istediğiniz ne takip ediyor:
Tüm metin içinde ise olduğu gibi-GSM 03.38 codepage, gönderin. (Bu kategori içine oturması üzerinde, Ibranice karakterlere Tüm ama ancak dönüştürülmesi gerekir.)
Aksi takdirde, Unicode dönüştürmek, ve (Unicode sınır her bir SMS için 70 karakter değil 160 gibi) birden fazla mesaj olarak göndereceğim.
Yukarıda söylediğim gibi, burada, ben (C # nedeniyle yerleşik bazı basit dönüştürme işlevlerine bir çok sorunu değildi) PHP bu yapmaya Stumped değilim, ama ben sadece bariz eksik oldukça muhtemel bulunuyor. Ben de, PHP 7-bit kodlama için önceden yapılmış dönüşüm sınıflar bulamadı - ve dize kendimi dönüştürmek için benim girişimleri ve göndermek beyhude görünüyordu.
Any help would be greatly appreciated.