2016-05-13 27 views
-1

私は標準jQuery $.ajax()コールを行い、POSTを行っています。この呼び出しは文字列をPHPコントローラに渡します。ダッシュ文字を疑問符(Ajax呼び出し)に置き換えました

問題は以下の通りです: - (?)en dashとき()文字は、それが文字に置き換えていますPHPに到達するまでに、文字列で使用されています。通常のハイフン( - )で問題は発生しません。

サイトのエンコードはUTF-8です。私はこの問題を回避する方法がわかりません。私はおそらく、いくつかの文字を置き換えることができますが、それから私はすべての "問題のある"句読点ごとにそれを行う必要がありますか?

問題はさておき、このコードを正しく入力すると、の作業がになりますか?

混乱します。

更新:

私は渡された文字列にmb_detect_encoding()を使用。結果は "ASCII"です...私は従来のコードで作業しています。どのように私はそのようなものを修正するのですか?

+4

PHPスクリプトのエンコーディングはどうですか? 'サイトのエンコーディングはUTF-8です.'HTMLページとPHPの両方がUTF8でエンコードされていることを意味しますか? –

+0

ajaxの文字列にurldecodeを実行します。 – madalinivascu

+0

質問が更新されました。 – lesssugar

答えて

0

PHP側では、$_REQUESTグローバルがAjaxデータの取得に使用されました。私が$_POSTに変更した後、enダッシュが維持されます。

しかし、なぜ$_REQUESTが失敗したのかは分かりません。

とにかく、これはこのケースでは機能しました。私は本当にこのコードを書いてこのプロジェクトを作成した開発者を嫌っています:)

関連する問題