Ver Mensaje Individual
  #10  
Antiguo 19-09-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Reputación: 18
waly2k1 Va por buen camino
Posible Solución

Mirá, una vez me pasó algo así con una aplicación de DOS, entonces cargaba dos Array, en uno las ocurrencias(acentos y caracteres de DOS) y en el otro los reemplazos, de manera de que cuando aparezca un caracter raro automaticamente lo reemplazaba por el que debia, pero tendrás que ver despues desde PHP como te queda. Probá con un solo registro.

la rutina es algo así, está echa en VB pero en Delphi es mas sencillo el tema de Arrays

Public Function Ansi2Unicode(sString As String)
Dim vArray1, vArray2
Dim nI As Integer
vArray1 = Array(" ", "‚", "¡", "¢", "£", "¤", "¥", "§", "¨", "*", "?", "š")
vArray2 = Array("á", "é", "í", "ó", "ú", "ñ", "Ñ", "º", "¿", "¡", "ü", "Ü")
For nI = 0 To UBound(vArray1)
If InStr(1, sString, vArray1(nI)) <> 0 Then // lo busca en Dephi Pos()
sString = Replace(sString, vArray1(nI), vArray2(nI)) // En Delphi AnsiReplaceString
End If
Next
Ansi2Unicode = sString
End Function

Código:
Delphi:
var
    i:Integer;
Const
    aArray1: Array[0..4] Of String = ( 'á', 'é', 'í', 'ó', 'ú' );
    aArray2: Array[0..4] Of String = ( 'á', 'é', 'í', 'ó', 'ú' );

Begin
        for i := 0 To High( aArray1 ) do
Espero te sirva de algo sino despues veo alguna otra solucion
Responder Con Cita