問題タブ [mb-convert-encoding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1122 参照

php - mb_convert_encoding 'HTML-ENTITIES' の代替

私はこのコードを使用します:

問題は、機能する "mbstring" 拡張機能がサーバーにインストールされていないユーザーがいるということです。この場合、mb_convert_encoding の代替手段はありますか?

どうもありがとう

0 投票する
1 に答える
988 参照

php - mb_convert_encoding が失敗するのはなぜですか?

なぜ

不合格?この関数が失敗する原因は何ですか?

コードを実行してこの行で停止し、HTTP 500 エラーを返す PHP Web ページがあります。

しかし、なぜ失敗するのかわかりません。どこを確認すればよいか、何か提案はありますか?

更新: エラーログが表示されます

0 投票する
0 に答える
167 参照

php - PHP を使用して文字列を Unicode にエンコードする

私は文字列をユニコードにエンコードしようとしています:

文字を変換する必要がある実行中ですが、Âエコーしても表示されます。なんで?

0 投票する
0 に答える
517 参照

php - mb_convert_encoding() を使用して文字列を HTML-ENTITES から UTF-8 に変換し、その逆に変換する

文字列の文字エンコーディングを HTML-ENTITIES に変換してから、utf-8 に戻したいと考えています。エンコーディングに変換して元に戻すと、同じ文字列が残るはずだと思いましたが、そうではありません。

私のテスト文字列は次のとおりです。

Test: ěščřžýáíé'

HTML-ENTITIES への変換

この結果を出力します:

Test: ěščřžýáíé

ただし、utf-8に戻そうとすると

驚くべきことに、元の文字列ではなく、(間違った) 出力が得られます。

Test: ěščřžýáíé

エンコーディングを適切に変換して元の文字列を取り戻すにはどうすればよいですか?

0 投票する
2 に答える
6319 参照

php - UTF-8 から ASCII への変換

サンプル文字列を次のように変換すると:

UTF-8 から ASCII への変換結果は次のようになります。

%D8%A8%D8%B2%D8%B1%DA%AF-%D8%AA%D8%B1%DB%8C%D9%86-%D9%88%D8%B1%D8%B2%D8%B4 %DA%A9%D8%A7%D8%B1%D8%A7%D9%86-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%A7%D9%84 %D9%85%D9%BE%DB%8C%DA%A9%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1

しかし、それはこれです:

?????????????????????-????????????????-??????????? ?????????-8-?????????????????????-????????????????-??? ??????-????????????-??????????????????????????

私は本当に混乱しています 誰でも問題を知っていますか?

更新:iconvも試しました:

しかし、それは言う:

Notice: iconv(): 入力文字列に不正な文字が検出されました

0 投票する
2 に答える
547 参照

php - 文字列の末尾に en-dash があると、json_encode が許可されません

を使用して文字列から n 文字を抽出しようとしてい substr($originalText,0,250)ます。

n 番目の文字はエンダッシュです。したがって、メモ帳で表示すると、最後の文字は †となります。私のエディタ、Brackets では、UTF-8 エンコーディングしかサポートしていないため、ログ ファイルを開くことさえできません。

この文字列に対して json_encode を実行することもできません。

ただし、 を使用するsubstr($originalText,0,251)と、問題なく動作します。ログ ファイルを開くと、†の代わりに en-dash が表示されます。json_encode も正常に動作します。

問題を回避するために使用できますmb_convert_encoding($mystring, "UTF-8", "Windows-1252")が、これらの文字を最後に使用すると特にエラーが発生する理由を誰か教えてもらえますか? さらに、これを行うと、ログ ファイルに「括弧内」が表示されますが、これも混乱を招きます。

私の質問は、なぜ文字列の最後に en-dash があるのか​​ということです。他の場所 (その後に他の文字が続く) とは異なります。

うまくいけば、私の質問は明確です。そうでない場合は、さらに説明してみてください。

ありがとう。

0 投票する
2 に答える
1312 参照

php - Laravel プロジェクトで UTF8 に変換できない

このコード行を実行しています。

laravelで実行すると空の文字列が得られますが、wampで単純なtest.phpファイルを使用してブラウザで実行すると、正しい文字列が得られます。