當(dāng)用戶輸入像??????????????????這樣的特殊 Unicode 字符串時(shí),我遇到了問(wèn)題,我的系統(tǒng)無(wú)法將其與用 ASCII 編寫(xiě)的字符串“tuyendung”區(qū)分開(kāi)來(lái)。問(wèn)題是如何在將輸入字符串存儲(chǔ)到數(shù)據(jù)庫(kù)之前將其規(guī)范化為 ASCII?示例輸入:??????????????????(字符代碼:0xd835、0xde01、0xd835、0xde02、0xd835、0xde06、0xd835、0xddf2、0xd835、0xddfb、0xd835、0xddf1、0xd835、0xde02、0xd835、 0xddfb、0xd835、0xddf4)預(yù)期輸出:圖延?xùn)|(字符代碼:0x74、0x75、0x79、0x65、0x6e、0x64、0x75、0x6e、0x67)
2 回答

慕工程0101907
TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
看起來(lái)這個(gè)//TRANSLIT選項(xiàng)可以解決這個(gè)問(wèn)題。
<?php
$input = '??????????????????';
echo iconv('UTF-8', 'US-ASCII//TRANSLIT', $input);
這將(我認(rèn)為是什么?)像??這樣的數(shù)學(xué)符號(hào)變成了t

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
我不知道“tuyendung”是什么。
但在 php 中,您可以使用“iconv”函數(shù)轉(zhuǎn)換字符集,或者您可以將原始形式保留在數(shù)據(jù)庫(kù)的 blob 字段中。您可以在篩選中進(jìn)行任何轉(zhuǎn)換。
也許它給出了一個(gè)想法。
- 2 回答
- 0 關(guān)注
- 243 瀏覽
添加回答
舉報(bào)
0/150
提交
取消