ユーザーが自分のフォームを送信できるようにタブレットまたはモバイルユーザーが絵文字をinput type="text"
フィールドに入力するのを止める方法を知っておく必要がありますが、中間層にエラーが発生します四角形として私のDBにも書き込みます。絵文字を入力フィールドに入力する
Googleでは解決策が見つかるようですが、ここで質問してください。
何かのHTML属性がありますか?
ユーザーが自分のフォームを送信できるようにタブレットまたはモバイルユーザーが絵文字をinput type="text"
フィールドに入力するのを止める方法を知っておく必要がありますが、中間層にエラーが発生します四角形として私のDBにも書き込みます。絵文字を入力フィールドに入力する
Googleでは解決策が見つかるようですが、ここで質問してください。
何かのHTML属性がありますか?
エンコードを変更してデータベースを互換性のあるものにすることをお勧めします。
つまり、テキストフィールドのすべての文字をループして、序数が32と255の間であることを確認できます。これにより、印刷可能なASCII文字のみを許可するようになります。このような
何か:
function stripNonAscii(input) {
let output = '';
for (var i = 0; i < input.length; i++) {
let c = input.charCodeAt(i);
if(c >= 32 && c <= 255) {
output += input.substring(i, 1);
}
}
return output;
}
これは正解です。また、フォーム処理中にバックエンドを再度チェックする必要があります。 – eosrei
(テキストエリアに入力され、テストされていない)あなたも 'utf8_unicode_bin'同等のエンコーディングを使用することができますし、あなたのDBがうまく絵文字を扱うことができるようになりますあなたのデータベースバックエンドによっては。 (あなたが1バイト長であると仮定しない限り) – Kris
@Kris私はemojisをまったく欲しません。 – murday1983
おそらく、中国語、日本語、ハングル、アラビア語などの他のユニコードの利点があるかもしれません。 – Kris