[英]Issue displaying UTF-8 characters submitted through a form back into the form
我有一個用戶可以輸入搜索字詞的表單,基本上它是頁面頂部的搜索欄。 如果用戶輸入了任何內容,那么新頁面也會包含他們輸入的內容,以免他們忘記,就像谷歌一樣。
首先將頁面設置為使用UTF-8(頁面正確地采用UTF-8編碼):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
輸入框是:
<input class="sb_input" name="q" type="text" value="<?php if (isset($displaysearch)) echo $displaysearch; ?>" />
上面是一些用於清理搜索詞的PHP代碼:
$search=$_GET['q'];
$displaysearch=preg_replace('@[^\p{L}| ]@','',trim($search));
問題是,如果我進入Über
,新頁面上的搜索框將顯示 ber
,我無法弄清楚它出錯的地方。
HTML <meta>
標簽可能是最不相關的位。 確保你已經閱讀並理解了UTF-8 。 另外:
$_GET['q']
。 這表明您已禁用完整錯誤報告。 如果是這樣的話,那么在你走得更遠之前,你需要先解決這個問題; 沒有錯誤消息的幫助就不可能編碼。 這是一個簡短的解釋 。 u
修飾符 ,因此您的文本將作為單字節處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.