PHP と JS の両方にユニコード文字を変換するための統一された方法があるので、ユニコード文字列をエンコードした後、結果は両端で同じになりますか?
同じメカニズムを共有する両端のエンコード/デコード技術はありますか?
PHP で bin2hex() と hex2bin() を試してみましたが、それぞれの手動関数を JS で使用しましたが、Unicode 文字では機能しませんか?
PHP と JS の両方にユニコード文字を変換するための統一された方法があるので、ユニコード文字列をエンコードした後、結果は両端で同じになりますか?
同じメカニズムを共有する両端のエンコード/デコード技術はありますか?
PHP で bin2hex() と hex2bin() を試してみましたが、それぞれの手動関数を JS で使用しましたが、Unicode 文字では機能しませんか?
私はこの質問を参照しました:
javascript を使用して、特別な UTF-8 文字を同等の iso-8859-1 に変換するにはどうすればよいですか?
次の機能が役に立ちました。
fixed_string = decodeURIComponent(escape(utf_string));
utf_string = unescape(encodeURIComponent(original_string));
クエリ文字列のエンコードとデコードに使用される escape 関数と unescape 関数は ISO 文字用に定義されていますが、同じことを行う新しい encodeURIComponent と decodeURIComponent は UTF-8 文字用に定義されています。
はい、utf-8 と呼ばれます。すべてのドキュメントを utf-8 としてエンコードし、すべてのデータを utf-8 として保存すると、平文になります。問題は、php がデフォルトで文字列が latin1 であることを想定しているため、いくつか変更する必要があることです (Content-Type
ヘッダーの送信など)。
これはハックですが、機能します。
PHP
rawurlencode($theString)
JS
decodeURIComponent(theString)