ホームページ > バックエンド開発 > PHPチュートリアル > JavaがPHPにデータを送信すると、中国語で疑問符が表示されます

JavaがPHPにデータを送信すると、中国語で疑問符が表示されます

WBOY
リリース: 2016-06-23 14:20:19
オリジナル
1512 人が閲覧しました

php post Chinese php post Chinese java

いくつかのステータスを確認しました
echo "Hello"; // こんにちは
echo json_encode("Hello") // /u4f60/u597d これも気にしません
echo $ _POST ['鍵'] //? ?

実際、私は Android で作業しており、接続に使用されるパッケージは org.apache.http
の下にあります
中国語を php に投稿する方法

ディスカッションへの返信 (解決策)

エンコードの問題です

echo Base64_encode( $_POST['key']);
結果を投稿します

エンコーディングの問題、受信した投稿値をトランスコードする必要があります、iconv

echo base64_encode($_POST['key']);
結果を投稿します

Send ' You' display Pw==

echo base64_decode('Pw=='); //出力 ?
送信時に 'you' が '?' になったことを意味します。 ; //出力 ?
これは、送信時に「you」が「?」になったことを意味します

デコード出力は確かに「?」になります。 '


Java と php のエンコーディングに問題があると思います
php 変数に中国語の文字が格納されている場合、mysql にアクセスしてクエリするのは問題ありません

php.ini でエンコーディングを変更する方法を知っていますか

echobase64_decode ('Pw =='); //出力 ?
送信時に「you」が「?」になってしまうことを意味します。 2つの場合 すべての文字は Pz8=

これでリクエストが取得されます

中の addHeader に意味があるのか​​分かりません


List<NameValuePair> listParams = new ArrayList<NameValuePair>();			if (params != null)			{				for (String name : params.keySet())				{					listParams.add(new BasicNameValuePair(name, params							.get(name)));				}			}			try			{				UrlEncodedFormEntity entity = new UrlEncodedFormEntity(						listParams);				HttpPost request = new HttpPost(url);				request.addHeader("charset", HTTP.UTF_8);				request.setEntity(entity);				return request;
ログイン後にコピー


これ?それ?コード変換の問題が発生したようです。マークしてください

さて、皆さんありがとうございます、解決しました

UrlEncodedFormEntity entity = new UrlEncodedFormEntity(                        listParams);//改成UrlEncodedFormEntity entity = new UrlEncodedFormEntity(                        listParams,HTTP.UTF-8);
ログイン後にコピー

可能であればコメントアウトしてください

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート