How to FIX ODD CHARACTERS in a DB table??
Posted by: Guillermo Vigil
Date: July 27, 2007 04:03AM


I have a "locations" table on my database.

The weird thing is that many of the cities and provinces/states are in strange characters.

Here's a brief examle from the start of my table:

id name type country parent1
-174052 Åžumayr locality Syria Damaskus
-174051 Dimaʿ waţ-Ţaiyīn locality Oman aš-Šarqīyah
-174050 Adenta East locality Ghana Greater Accra
-174049 Taifa locality Ghana Greater Accra
-174048 Lashibi locality Ghana Greater Accra
-174047 Kintapo locality Ghana Brong-Ahafo
-174046 San Pedro locality Nicaragua Chinandega
-174045 San Nicolás locality Nicaragua EstelÃÂ
-174044 Rancho Grande locality Nicaragua Matagalpa
-174043 Desembocadura C.Rào G locality Nicaragua Atlántico Sur
-174042 Sah ʿUbaydah locality Saudi Arabia al-H̨udūd-aš-Šamālīyah
-174041 Qubbah locality Saudi Arabia al-QaÅŸÄ«m
-174040 Qalwah locality Saudi Arabia al-Bāh̨ah
-174039 Mastūrah locality Saudi Arabia Makkah
-174038 Hajrah Ê¿Aqlat as-Saqur locality Saudi Arabia al-QaÅŸÄ«m
-174037 H̨ayy al-Qaţţār locality Saudi Arabia Riad
-174036 H̨āyirat as-Salam locality Saudi Arabia Najrān
-174035 at-Tuwayṯīr locality Saudi Arabia aš-Šarqīyah
-174034 aṯ-Ṯamad locality Saudi Arabia al-Madīnah
-174033 ar-Rumaylah locality Saudi Arabia aš-Šarqīyah
-174032 al-Mašʿaliyah locality Saudi Arabia Najrān
-174031 al-Mah̨āfīr locality Saudi Arabia al-Madīnah
-174030 al-Layš locality Saudi Arabia Makkah
-174029 al-Jurn locality Saudi Arabia aš-Šarqīyah
-174028 al-Jārwadiyah locality Saudi Arabia aš-Šarqīyah
-174027 al-H̱uwaylidah locality Saudi Arabia aš-Šarqīyah
-174026 al-ʿId̨ locality Saudi Arabia al-Madīnah
-174025 al-Manşūrah locality Saudi Arabia aš-Šarqīyah
-174024 al-Jiššah locality Saudi Arabia aš-Šarqīyah
-174023 al-H̨awţah locality Saudi Arabia aš-Šarqīyah

I ran the following SQL code but with no success:

SET NAMES 'utf8';

also tried:


also tried:

Changing the "Collate" to utf_swedish_ci via the dropdown, and to some others.

All with no success.

My database has always been completely "Collated" as latin1_swedish_ci
The imported locations table I dont know what it was originally or what I imported it as, but I didnt touch anything, so it must've been default.

The problem doesn't end here, as the location table has its problems, but then I have yet anoter table, with serialized input and I have seen 3 or 4 cases (only!) where the characters have been messed up.

Weird enough this "messing up" happened somehow, but was originally typed right, as the serialized input counts the accented characters as 1 and not 2 or 3 which is what it has converted to (somehow).

Example: One field in the table "photos":

a:5:{i:0;s:23:"Néstor Carlos Kirchner ";i:1;s:23:"Nestor Carlos Kirchner ";i:2;s:16:"Néstor Kirchner ";i:3;s:16:"Nestor Kirchner ";i:4;s:0:"";}

this as you can see USED to be right, because the s:XX clearly counts the total characters there are (in fact: there were, as now the characters are messed up and "é" uses two characters "é")

Well, the weird thing as I say is that only 3 of this fields have somehow been altered, but weren't originally.
I can fix them by hand, but can anyone explain to me how and why this characters changed themselves?
Because I tried adding (all via PHP 4.4.6) an entry to the "photos" table and it serialized accents perfectly. All accents are appearing like á è ê etc...

I can only hope this doesn't happen again, but if someone could offer me an axplanation or a fix so to assure me that it'll be technically impossible to get these annoying charcters I'd really appreciate it.

Going back to the "Locations" table which has many, many, many rows messed up, there I simply can't edit all of them by hand.
Is there SOME way to FIX this table so that accents are saved on the DB instead of just weird characters?

Thanks a lot.
No only for reading, but for wanting to help ;)


Options: ReplyQuote

Written By
How to FIX ODD CHARACTERS in a DB table??
July 27, 2007 04:03AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.