PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Normalisasi Unicode di Postgres

Saya pikir ini adalah bug Pg.

Menurut pendapat saya, PostgreSQL harus menormalkan utf-8 ke dalam bentuk yang telah dibuat sebelumnya sebelum melakukan konversi penyandian. Hasil konversi yang ditampilkan salah.

Saya akan mengangkatnya di pgsql-bugs ... selesai.

http://www.postgresql.org/message-id/example @sqldat.com

Anda harus dapat mengikuti utas di sana.

Sunting :pgsql-hackers tampaknya tidak setuju, jadi ini tidak mungkin berubah dengan tergesa-gesa. Saya sangat menyarankan Anda untuk menormalkan UTF-8 Anda pada batas masukan aplikasi Anda.

BTW, ini bisa disederhanakan menjadi:

regress=> SELECT 'á' = 'á';
 ?column? 
----------
 f
(1 row)

yang merupakan omong kosong biasa, tetapi diizinkan. Yang pertama sudah disiapkan, yang kedua tidak. (Untuk melihat hasil ini, Anda harus menyalin &menempel, dan itu hanya akan berfungsi jika browser atau terminal Anda tidak menormalkan utf-8).

Jika Anda menggunakan Firefox, Anda mungkin tidak melihat hal di atas dengan benar; Chrome merendernya dengan benar. Inilah yang akan Anda lihat jika browser Anda menangani Unicode yang telah didekomposisi dengan benar:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apa cara yang baik untuk pecahan horizontal di postgresql

  2. Parameter bernama dalam fungsi database dengan SQLAlchemy

  3. PHP/PostgreSQL:periksa apakah pernyataan yang disiapkan sudah ada

  4. Bagaimana cara mengganti database di postgres?

  5. Akses Kesalahan Server OpenERP ditolak