2017-10-30 1 views
0

Unsere App akzeptiert Benutzer Texteingabe, die wir dann in einer serverseitigen Datenbank speichern. In iOS 11, wenn Sie zwei "-" Zeichen in einer Reihe eingeben, werden sie automatisch in ein emdash (-) kombiniert. Wenn Sie drei "-" Zeichen in einer Reihe eingeben, enden Sie mit einem Halbdash + einem halben Halbdash, der einen ungültigen Terminator hat. Das verursacht Probleme für meinen Rails-Server, der diese Zeichenfolge nicht analysieren kann, da sie ungültig ist. Die Zeichenkette sieht so aus: \ xE2 \ x80 \ x94 \ x00in iOS 11 die Tastatur Autokorrektur erstellt ungültige UTF8

+0

Ist das nur ein iOS 11 Problem? –

+0

Ja, nur in iOS 11 führt die Tastatur diese Art von Ersatz durch. In iOS 10 bleiben 3 Striche. –

+0

Das klingt nach einem Codierungskonflikt. Sie sollten in der Lage sein, die clientseitige Codierung so einzustellen, dass postgresql im laufenden Betrieb in die interne Codierung konvertiert wird. Schau hier: https://www.postgresql.org/docs/9.6/static/multibyte.html#AEN39240 –

Antwort

1

"Intelligente Striche", wie es genannt wird, ist der Prozess wandelt zwei/drei Bindestriche in einen einzigen größeren Strich. Dies ist nur für iOS 11 verfügbar. Es kann mit smartDashesType gesteuert werden, das Teil des Protokolls UITextInputTraits ist.

Verwandte Themen