問題タブ [intl]
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.
php - 任意のロケールの「リスト区切り文字」文字を取得します
クライアントから提供されたロケール識別子名(文字列)のみから始めて、そのロケールのデフォルトの「リスト区切り文字」文字をどこでどのように検索しますか?
「リスト区切り文字」設定は、文字列や配列を結合または分割するときに、さまざまな種類のアプリケーションやプログラミング言語がデフォルトのグループ化文字として使用できる文字です。これは、スプレッドシートプログラムでCSVファイルを開く場合に特に重要です。多くの場合、これはコンマ「、」ですが、このデフォルトの文字は、マシンのリージョン設定によって異なる場合があります。OSによっても異なる場合があります。
ここでは自分のサーバー環境には興味がありません。代わりに、クライアントが私に与えたロケール識別子に基づいてクライアントについてもっと知る必要があるので、私自身のサーバー設定は関係ありません。また、このソリューションでは、この値を検索するためのショートカットとして、現在のプロセス全体のクライアントのロケール設定と一致するようにこのサーバーのロケール設定を変更することはできません。
これがICUライブラリで定義されている場合、INTL
拡張子を使用してこの値を検索する方法を見つけることができません。
ヒントはありますか?
php - 作曲家でSonataIntlBundleをインストールするにはどうすればいいですか?
私はドキュメントを読みましたが、これを行うと:
私のコンソールにこのメッセージがあります:5
そこで、「master」または「2. *」を試しましたが、うまくいきません。
php_intl拡張子の付いたSymfony2.1.7とPHP5.4.3を使用しています。
誰かが私を助けることができれば...ありがとう!
php - PHP5.3にはデフォルトでIntl拡張機能がないようです
私のシステムはUbuntu12.04、PHP 5.3であり、次のような基本的なIntlコードを実行しようとしています。
そしてそれは出力します
バージョン5.3以降、Intl拡張機能はPHPにバンドルされる予定ではありませんでしたか?
PHPはapt-get
、次のコマンドラインを使用してインストールされました(私はApacheを使用していません)。
そして、これが何php -v
を生み出すかです:
php - intlDateFormatter夏時間
symfony 2は独自のDateTimeToLocalizedStringTransformerでintlDateFormatterを使用しますが、正しく機能しません。
結果が出ました
やってみます
そしてlibicu44を再インストールします
php - Ubuntu10.04に最新のphp_intlをインストールします
Ubuntu10.04の最新のphpバージョンにOndřejSurýソースを使用しています。だから私はPHPバージョン5.4.12-1〜lucid+1を取得します
私のSymfony2アプリケーションには、最新バージョンのphp-intl拡張機能が必要です。
私が実行しているローカルXAMPPサーバーで
- INTLバージョン1.1.0
- ICUバージョン 4.6.1
私のウェブサーバーにはこれだけがあります:
- INTLバージョン1.1.0
- ICUバージョン 4.2.1
ソースやそれを更新する方法もありますか?
php - NumberFormatter::parseCurrency() 空白と改行なしを受け入れる動作を変更するにはどうすればよいですか?
ローカライズされた通貨文字列を通貨と浮動小数点値に解析しようとしています。
しばらくはすべてがうまく機能しますが、現在、いくつかの問題が発生しています。NumberFormatter::parseCurrency は追加の非表示文字を使用しているようです:
テストコード:
出力:
ご覧のとおり、出力 3 と 4 の文字列の長さに違いがあります。
PHP 5.3 (mbstring を有効にした ubuntu) と 5.4 (Mac OS X 上の Zend Server) で同じ結果が得られます。
主な問題は、私のフォーム (ZF1 アプリケーション) からの入力値が、インデックス 4 で等しく出力されることです...
助言がありますか?前もって感謝します
編集1:
作業値の 16 進ダンプ:
非動作値の 16 進ダンプ:
編集2:
使用されているホワイトスペースに問題があるようです。c2 a0 は NO-BREAK SPACE であり、(おそらく?) NumberFormatter::parseCurrency() によって必要とされます。ただし、0x20 はデフォルトのスペースです (入力フォームに入力されます)。現在の回避策は、空白を NO-BREAK SPACE に置き換えることです$value = str_replace("\x20", "\xC2\xA0", $value);
編集3:
別のシステム (Zend Server 5.6 を搭載した Mac OS X、mbstring が有効、PHP 5.3.14) では、すべてが期待どおりに動作します。
編集4:
スペースを使用する場合と非ブレーク スペース構成を使用する場合の主な違いは、ICU のバージョンです。
作業バージョン:
動作しないバージョン:
php - PHP を intl でコンパイルする
intl エクステンションで php をコンパイルしたい。
--enabled-intl でコンパイルしています。
icuが必要とするエラーが表示されます。だから私は yum install icu libicu-devel を使って icu をインストールしました
今、私は次のエラーが発生しています:
ICU 3.4 以上をチェックしています... 51.2 が見つかりました c++ をチェックしています... lib -L/usr/local/lib) は機能します... 構成: エラー: インストールまたは構成の問題: C++ コンパイラは実行可能ファイルを作成できません。
ここに私のconfig.logの内容があります
configure:52751: c++ -o conftest -I/usr/local/include -L/usr/lib -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib conftest.C -ls qlite3 -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -liconv -lm -ldl -lxml2 -lz -liconv -lm -ldl -ldl -lm -licui18n -licuuc -licudata -ldl -lm -licuio 1>&5 /usr/local/lib/libxml2.so: gzdirect@ZLIB_1.2.2.3 へ
gzopen64@ZLIB_1.2.3.3' /usr/local/lib/libxml2.so: undefined reference to
の未定義参照 collect2: ld が 1 終了ステータスを返しました configure: 失敗したプログラムは: