De nuevo recurro a vosotros en busca de ayuda.
Estoy utilizando symfony con una base de datos oracle. Mi problema
reside en que cuando quiero almacenar algún caracter como "ñ", "á",
etc. en lugar de almacenarme el caracter correcto me lo cambia por uno
o varios "?".
Muchísimas gracias de antemano
Un fuerte saludo y un feliz año a todos
En MySQL se puede configurar el charset imagino que con oracle también sé podrá.
Saludos y suerte!
Marc.
2007/1/8, Asiertxo <vegau...@hotmail.com>:
Seguramente se puede configurar cualquier tabla para que soporte UTF8.
Tenes que tener en cuenta algunas cosas más:
Tablas en UTF8
Encoding de HTML UTF8 (symfony por defecto los trae)
Archivos en UTF8 (ej si haces insert fijos con caracteres especiales para
cargar una base por defecto)
Estoy trabajando con Apache 2.2, PHP 5 y sf_sandbox de symfony sobre
Windows XP. He conseguido solucionar el problema de los caracteres
extraños modificando el archivo de configuración de mi aplicación
"view.yml", de manera que las primeras lineas queden de la siguiente
forma:
default:
http_metas:
content-type: text/html; charset=ISO-8859-1
Hago un include de estos http_metas en las páginas de mi
aplicación symfony.
No obstante tengo esta misma aplicación corriendo sobre una
máquina con Apache 2.2 y PHP 5 pero sobre un sistema operativo Linux.
En esta segunda máquina el problema persiste. Los caracteres del tipo
"ñ", "à", etc. no los trata correctamente. Los cambia por
interrogaciones "?".
Seríais tan amables de orientarme o indicarme por donde puede estar
el problema?
Muchisimas gracias de antemano
Un saludo a todos
Sé que en symfony > 0.9.2136, se puede usar un nuevo parámetro:
'encoding', en el databases.yml.
$charset = 'WE8ISO8859P1';
$conn = OCILogon($passBD, $usuarioBD,
"//".$hostBD.":".$puertoBD."/".$nombreBD, $charset);
He incluido charset como parámetro de la conexión con la base de
datos y lo he colocado en las dos plataformas (windows y linux). En
ambas me salen los contenidos perfectamente. Con "ñ", " ' ", etc.
He intentado añadir el campo encoding en databases.yml y modificar
filters.yml pero tampoco he conseguido nada.
Muchas gracias por vuestra ayuda
He tenido problemas y ha sido imposible limpiar la caché de symfony.
El problema se podría solucionar con este paso?
Muchas gracias
all:
default_culture: es
en el primero y poniendo:
all:
.settings:
i18n: on
en el segundo pero ni aun así.
Todo apunta a la necesidad de una modificación en la configuración de
apache alguien sabría qué debo modificar? y cómo? al servidor linux
solamente tengo acceso vía FTP por lo que he probado colocando
archivos .htaccess en el directorio raíz de php en este servidor pero
el problema persiste.
Muchas gracias
y probar con otros encodings, probablemente la forma mas facil de
hacerlo es probar con el explorador (si usas firefox Ver ,
Codificación de Caracteres, Mas, y elegis alguno de las listas)
Al final he accedido a
sf_sandbox\lib\symfony\vendor\creole\drivers\OCI8Connection.php y he
añadido como parámetro a la conexión "WE8ISO8859P1" quedando de la
siguiente manera:
$conn = @$connect_function( $user, $pw, "//$hostspec/$db" ,
"WE8ISO8859P1");
y
$conn = @$connect_function( $user, $pw, $hostspec , "WE8ISO8859P1");
2007/1/18, Asiertxo <vegau...@hotmail.com>:
En realidad seria mejor si ajustas tu configuración de oracle para
mantener el codigo original (no recuerdo si podias) mira .
http://ar2.php.net/manual/en/ref.oci8.php#25444
http://ar2.php.net/manual/en/ref.oci8.php#40178