2013-10-30 50 views
1

我正在開發eCircle中的一個過程,該過程向挪威的用戶發送短信,但稍後可能會在芬蘭,丹麥和瑞典使用(這是一個試用過程)。包含挪威和其他斯堪的納維亞字符的短信傳送的編碼選項

不幸的是,當使用ISO-8859-1編碼時,我無法向使用iPhone的用戶提供挪威語字符。測試使用非智能手機的用戶似乎可以獲得更好的角色,但擁有iOS 6和iOS 7的用戶無法看到他們。我可以證實,至少新的HTC Android設備的用戶也會收到這些角色,所以它似乎專注於iOS。

不幸的是,使用UTF-8是不可能的,因爲它只允許我們使用70個字符,我們需要大約150-155。我們不想使用多個消息,因爲這對客戶來說會非常昂貴。

我試過UTF-16和ISO-8859-15,但是SMS不支持這些編碼。那麼,我還想知道還有什麼其他編碼可以特別支持挪威人的角色,而斯堪的納維亞人的角色呢?

+0

嗨,看看這個討論:http://forums.macrumors.com/showthread.php?t=1030577 –

+0

'UTF-8只允許70個字符。不,這取決於人物。大多數挪威人字符都在ascii範圍內,因此編碼在1個字節上。另一方面,UTF-16對至少2個字節的所有字符進行編碼,實際上最多不超過70個字符。至於'SMS不支持這些編碼',你是否有一個消息來源支持該聲明? – njzk2

+0

我可能會被誤認爲 - 可能是因爲我們使用的系統不支持這些SMS編碼。 – deltaseven

回答

0

看來這個問題是一個配置問題與我們的短信網關供應商。具體而言,他們沒有使用UCS-2配置。

0

SMS支持3個編碼:

  1. 7位GSM_03.38。大多是ASCII字符,再加上一些額外的表格。
  2. 16位UCS-2,與UTF-16類似,只使用16位字符,而不是32位字符。它支持世界上大部分可以遇到的字符
  3. 8位原始。實際編碼是用戶特定的。我不知道它實際上是什麼

現在,在sms協議(Data Coding Scheme)中有一個字段用於指示短信的語言。顯然它並沒有被真正使用,但是如果手機可以用它來推斷8位短信的編碼,那將是有意義的。

諾塔:即使在8位,你會得到只有140個字符,而不是160

相關問題