問題タブ [latin1]

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 投票する
3 に答える
8289 参照

oracle - Oracle:varchar2フィールドのxmlエンティティをutf-8文字に変換します

テーブルはlatin-1であるため、特殊文字のXMLエンティティを保持するフィールドがテーブルにあります。例: " Hallöle slovenčina"( "ö"はlatin-1ですが、 "slovenčina"の"č"は、値をデータベースに保存するアプリケーションによってエンティティに変換する必要がありました)

次に、XMLエンティティを元の文字に変換して、テーブルをutf-8でエンコードされたファイルにエクスポートする必要があります。

これを処理する可能性のある関数がOracleにありますか、それともそのための巨大なキー/値マップを作成する必要がありますか?

どんな助けでも大歓迎です。

編集:私は関数を見つけましたが、それは、、およびDBMS_XMLGEN.convertでのみ機能します。オンではありません:-(<>&&#NNN;

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

mysql - mysql内のガベージ文字を置き換えます

私のデータベースは、またはlatin1でいっぱいです(端末がそれぞれlatin1またはunicodeに設定されているかどうかによって異なります)。文脈から、私はそれらがemdashsであるべきだと思います。IEでレンダリングされた(またはレンダリングされなかった)場合、これらは厄介なバグを引き起こしているように見えます。それらを見つけて交換したいのですが。問題は、âと�のどちらの文字も。と一致しないことです。クエリの実行:â&quot;'��&quot;'replace

エラーなしで実行されますが、何も実行されません(0行が変更されました)。ターミナルにコピーすると、「ひし形の疑問符」の文字が一致していないことは明らかです。そのコードを見つけて、それと何かを一致させる方法はありますか?コンソールは、mysqlこれを1行で実行できることに非常に近いので、回避できるのであれば、ターミナルの外でスクリプトを作成したくありません。

dbはAmazonRDSでホストされているため、ここで他の質問で参照されているregexpudfをインストールできません。長期的には、db全体をutf8に適切に変換する必要がありますが、このレンダリングの問題をすぐに修正する必要があります。

編集:

悪い文字をで分離しましたhexdump。これはe280です(これはどのUnicode文字にも対応していないと思います)。どうすればそれを置換関数にフィードできますか?

何もしません。

0 投票する
4 に答える
36982 参照

mysql - Latin1でエンコードされた列でUTF-8文字を検出する方法-MySQL

私は、データベースをLatin1からUTF-8に変換するという、面倒で手間のかかる作業に取り掛かろうとしています。

この時点で、テーブルに保存したデータの種類を確認したいだけです。これにより、データを変換するために使用するアプローチが決まります。

具体的には、Latin1列にUTF-8文字があるかどうかを確認したいのですが、これを行うための最良の方法は何でしょうか。影響を受ける行が数行しかない場合は、これを手動で修正できます。

オプション1.MySQLダンプを実行し、Perlを使用してUTF-8文字を検索しますか?

オプション2.MySQLCHAR_LENGTHを使用して、マルチバイト文字の行を検索しますか?例SELECT name FROM clients WHERE LENGTH(name) != CHAR_LENGTH(name); :これで十分ですか?

現時点では、MysqlクライアントのエンコーディングをUTF-8に切り替えました。

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

mysql - ビューが utf8 である理由と、それを latin1 に変更するにはどうすればよいですか

クライアント プログラムでビューを使用する必要があるが、latin1 としての結果が必要であるという問題があります。これが私が持っているものです:

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

mysql - 準備されたクエリと通常のクエリのErlang Emysqlエンコーディングの違い

ここで emysql エンコーディングについて正しい答えを得た質問を書きました。答えは別の質問を特定します...

iPhoneの絵文字をデータベースに保存しようとしています...

私がする時 :

すべてが正常に動作します...

ただし、次の場合:

モジバケを取得しています。正しい用語を使用するように編集

私はと接続しています:

残念ながら、データベースを使用して絵文字をそのように保存していた以前のソフトウェアのため、utf8 を使用できません。utf8 を使用すると、新しいシステムでは動作しますが、古いシステムによって挿入された行では動作しません。

編集:

SQLインジェクションを効果的に防ぐ準備済みステートメントを本当に使いたいです。

0 投票する
3 に答える
1448 参照

php - UTF8 -> Latin1 難易度、PHP

アクセント付きの文字が失われています。

PHP から、UTF8 を使用する xml ファイルをダウンロードしますが、私の PHP スクリプトは Latin1 を使用します。UTF8 を Latin1 に変換できません。

私はこれを試しました:

しかし、どちらにしても、アクセント付きの文字は壊れて 2 文字になります。

入力:

出力:

私は自分でそれを理解しました。以下の私の答えを見てください。助けてくれてありがとう!

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

php - UTF-8データをlatin1データベース列に入れるとどうなりますか?

UTF-8スペイン語でエンコードされたデータを取得しています。私がそれを入れる必要があるデータベース列は現在latin1charsetを使用しています。

そのUTF-8データをそれらの列に入れるとどうなりますか?正しいデータは失われますか?または、php関数を使用してエンコーディングを変換する必要がありますmb_convert_encodingか?

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

python - 文字列のエンコードと、おそらくlatin1およびutf8からのデコード

最近、Latin1を使用してエンコードされ、ブラウザーの疑問符記号で表示されたときにレンダリングされていたMySQLデータベースに遭遇しました。これを修正するために、すべてのテーブルでDBのエンコーディングをutf8に、Collat​​ionをutf8_general_ciに変更しましたが、既に保存されているデータはまだ疑問符の記号で表示され、mysqlからブラウザーへのデータの保存とポーリングはすべて行われました。 phpによって行われた私はutf8がphpでも使用されていることを確認し、多くの人がオンラインで提案したようにセット名utf8を実行しましたが、問題は、文字列にÃÂ'などの奇妙な文字がないことを知っていたということです。

データの例

保存:

EMMANUEL PE \ xc3 \ u0192 \ xc2 \ u2018A GOMEZ PORTUGAL

レンダリング:

EMMANUELPEÃÂ'AGOMEZPORTUGAL

ちゃんとした:

EMMANUELPEÑAGOMEZPORTUGAL


保存:

ルイス・ヘルン\xe1ndez-ヒガレダ

レンダリング:

ルイス・エルナンデス・ヒガレダ

ちゃんとした:

ルイス・エルナンデス・ヒガレダ


保存:

Teresa de Jes \ xc3 \ u0192 \ xc2 \ xbas Galicia G \ xc3 \ u0192 \ xc2 \ xb3mez

レンダリング:

TeresadeJesúsGaliciaGómez

ちゃんとした:

TeresadeJesúsGaliciaGómez


保存:

DR。JOS \ xc3 \ u0192 \ xc2 \ u2030 ABEN \ xc3 \ u0192 \ xc2 \ x81MAR RIC \ xc3 \ u0192 \ xc2 \ x81RDEZ GARC \ xc3 \ u0192 \ xc2 \ x8dA

ちゃんとした:

DR。JOSÉABENÃÂMARRICÃÂRDEZGARCÃÂA

現在、Pythonを使用してDBからデータを取得していますが、Unicode utf8に正規化しようとしていますが、本当に迷っています。ここに到達している限り、現在奇妙なものとして表示されているものを変換する必要があります。上記のように文字を読み取り可能なテキストに変換します。

ここで何が欠けていますか?データは修復不可能ですか?

関数 https://gist.github.com/2649463

注: すべての例の中で、適切にレンダリングされているものが1つあります(これを修正する方法についてアドバイスがあれば、そこに残されているので考慮されます)

0 投票する
3 に答える
1233 参照

java - 入力ファイルにサポートされていない文字が含まれている場合はどうなりますか?

このテキストファイルには、JVMのデフォルトの文字セットであるLatin1文字セットにサポートされていない文字が含まれている可能性があります。

私のJavaプログラムがファイルから読み込もうとすると、これらの文字は何に変わりますか?具体的には、ファイルに2バイトの長さの文字が含まれているとすると、1バイトの文字として読み取られますか(Latin1の各文字の長さは1バイトしかないため)。

ありがとう、

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

mysql - MySQL の奇妙な 16 進数区切り - UTF8 に変換する必要があります

わかった。そのため、トラフィックの多い Web サイトを支えている大規模なレガシー データベースがあります。テーブルは latin1 でエンコードされており、UTF-8 に変換中です。サイトをRails化し、DBに直接アクセスできるようになりました。ただし、データベースに挿入された utf8 文字で非常に奇妙なことが起こっているようです。Tolk (https://github.com/dhh/tolk) を使用してサイトを中国語に変換していますが、残念ながら、翻訳テーブルを UTF-8 に変換する前にサイトがセットアップされました。問題は、ユニコード文字の latin1 テーブルに奇妙な文字形式が挿入されていることです。

次に例を示します。

データは YAML としてシリアル化され、Rails またはデータベースは、Unicode の漢字をこのバックスラッシュで区切られた 16 進形式に変換するために何らかの処理を行っているようです。

何が起こっているのでしょうか?これらの 16 進文字列を対応する utf-8 文字に変換する方法はありますか?