Insertion de donnée dans mysql : problèm e d'accent


#1

Bonjour à tous,
j’ai un petit souci et j’aimerai votre aide :slight_smile:
Au moment d’insérer des données dans ma base mysql, j’obtiens un
message d’erreur

Mysql::Error: #HY000Incorrect string value: ‘\xE9_547B…’ for column
‘filename’ at row 1: INSERT INTO pages (rel_path, filename)
VALUES(‘Bilbliotheque%2Fworkproducts%2Fproduit_install
%E9_547BA611.html’, ‘produit_installé_547BA611.html’)

Le problème semble venir des accents.
Précédemment, j’avais le même souci avec le rel_path que je pense
avoir résolu grâce à la méthode CGI.escape.
Seulement je ne trouve pas où utiliser cette méthode pour le filename
si vous avez une idée :slight_smile:

Voici le code :
def scan4content
logger.info(“Scanning content in site #{self.title}”)
self.pages = []
if self.content_scanned_on.nil?
files = self.files_wikifiable
self.wikifiable_files_count = files.size # TODO obsolete?
files.each do |f|
page = BaselineProcessPage.new(:rel_path => CGI.escape(f.gsub
(self.path + ‘/’, ‘’)), :site => self, :tool => ‘EPFC’, :status =>
‘N.A.’)
self.pages << page
end
self.content_scanned_on = Time.now
self.save!
else
logger.info(“Content has already been scanned!”)
end
end