2011-02-22 13 views
5

中国語の文字を検索フォームに投稿するのに少し問題があります。 localhostではうまく動作しますが、私のウェブサイトではうまく動作しません。検索フォームに中国語を投稿できません

検索入力がこれです:ローカルホスト上の假发

結果のURL: http://search.taobao.com/search?commend=all&isnew=2&q=%BC%D9%B7%A2&source=search1

ウェブサイト上で結果のURL: StackOverflowの実際のエンコードのこと、エンコード結果は、しかし異なっている、事はということですq =%BC%D9%B7%A2の代わりにウェブサイト上で私はq =假行をURL自体に得る。 http://search.taobao.com/search?commend=all&isnew=2&q=%E5%81%87%E5%8F%91&source=search1

実際に中国語の文字がクエリに挿入されていることがわかります。私はlcoahostとライブサイトでこれがなぜ違うのか分かりません。文字エンコードは

<meta http-equiv="Content-Type" content="text/html; charset=GB18030" /> 

ですが、私はUTF-8も変更しませんでした。

ここは私のフォームのhtmlです。検索クエリは2番目の入力ボックスに移動します。最初のものはトランスレーションのためであり、うまくいきます。私は文字をエンコードする必要があるのか​​どうか、そしてなぜそれがlocalhostで動作するのかについて、何が取引であるのかわからないのですか? ありがとうございます!

<div class="search-box"> 
<form id="search" name="search" action="http://search1.taobao.com/browse/search_auction.htm?at_topsearch=1" method="post" target="_blank"> 
<div class="search-form"> 
<span class="search-q"> 
<input type="text" autocomplete="off" accesskey="s" name="q" id="q" value="Translate and Find" style="width: 160px; font-family: Arial;" size="20" /> 
</span> 
<button id="DoSearch" type="submit" style="font-weight: bold; font-family:Arial; color: #333; width: 165px;"> 
Taobao Search</button> 
</div> 
<input type="hidden" name="sort" value="" /> 
<input type="hidden" name="at_topsearch" value="1" /> 
<input type="hidden" name="f" value="D9_5_1" /> 
<input type="hidden" name="promote" value="" /> 
<input type="hidden" name="isnew" value="2" /> 
<input type="hidden" name="atype" value="b" /> 
<input type="hidden" name="commend" value="all" /> 
<input type="hidden" name="search_type" value="auction" /> 
<input type="hidden" name="user_action" value="initiative" /> 
<input type="hidden" name="ssid" value="s1-e" /> 
</form> 
</div> 
</div> 

答えて

3

accept-charset="GB18030"をフォームタグに追加します。私の推測では、ローカルサーバーはエンコーディングをフォーム(XAMPPなど)に残し、ライブサーバーはエンコーディングを強制します。

これが機能しない場合は、PHPを使用して送信された情報を強制的にエンコードすることができます。または、サーバー設定を変更する機能があれば、エンコーディングを変更することもできます。しかし、PHPオプションは100万倍も簡単です。

+1

accept-charset = "GB18030"私はそれを信じられませんでした。私は前にこれを試しましたが、別の文字セットで、ありがとうございました!私はあなたの答えを投票することができればいいと思うが、私は必要な担当者を持っていない!乾杯!!! – michaeltintiuc

+0

歓迎します:-) – AJMaxwell

関連する問題