1

私はベネズエラ出身で、古いデータベースを使用する Web アプリで作業しています。それを作成した人たちは、スペイン語の文字 (á í ó ú ñ) の適切なレンダリングを気にしませんでした。 ESPAÑAO (ESPAÑA)、MARTIÂN (MARTÍN) として保存されます。

だから、私は文字列をSQL同じように置き換えることができますREPLACE( name, 'Ñ', 'Ñ' )が、すべての場合にこれを置き換える簡単な方法はありますか?

同じ問題を持つ 2 つのフィールド (nombre、apellido) を持つ MySQL (ヒストリア) には 1 つのテーブルしかありません。

私もphpを使っています。

4

1 に答える 1

0

データがどのように表示されるかを確認するためだけに、コンソールを使用して mysql からデータを取得してみてください。データが正しく表示され、壊れていない場合、これは mysql が正常に動作していることを示している可能性がありますが、PHP にはまだ問題があり、PHP は utf-8 文字の大部分でうまく動作していません。

コンソールで mysql から壊れた文字を受け取った場合は、データベースのバックアップを作成し、データベースとフィールド (!) を UTF8 に変換してみてください。これはより多くのディスク容量を消費しますが、安全な文字を保証してください。

問題が PHP にある場合は、いくつかの解決策を試すことができます。1 つは文字列を utf8 に変換することです。

iconv('UTF-8', 'ASCII//TRANSLIT', $string_to_convert);

別の方法として、utf-8(マルチバイト) を理解する文字列に対して関数を使用することもできます。詳細については、次を参照してください: PHP: マルチバイト文字列 - マニュアル

HTH

心から、

VR

于 2013-04-08T15:30:01.507 に答える