Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Folder or File with French Accents as first letter in filename or foldername problem #236

Closed
tommyatkadx opened this issue Nov 4, 2012 · 29 comments

Comments

@tommyatkadx
Copy link

If I have a folder, or a file, with a french accents, it's working great.

The file is going to the server, I can see it from the owncloud webpage, I also can "play" it if it's an mp3 file. Everything is working like expected.

When the first letter of the folder or file name is a french accent, it's not working.

The accent is not showing in the web browser, and if I click on the folder or file in the web browser, it get back to owncloud home page.

If I look in my server in the data folder, I can see that both folders and files are present, I can rename it and make them works...

When I have one file or folder in error (with a starting accent char), a "slave" syncing client will stop syncing, with 404 not found on this folder/file

@tommyatkadx
Copy link
Author

I did a lot of test and it's probably related to basename()

you may want to replace it by another function...

@tommyatkadx
Copy link
Author

Search and replace on all files of

basename(

by

preg_replace( '/^.+[\/]/', '',

and it's now working....

@tommyatkadx
Copy link
Author

preg_replace( '/^.+[\ \ \ \ \ \ /]/', '',

\ without the spaces....

@ravens
Copy link

ravens commented Nov 6, 2012

Got the very same problem with spanish character as well (second position - try Títulos as a file name). Any easy way to patch basename globally ?

@tommyatkadx
Copy link
Author

tomyou can search and replace in all .php files (recursive) in your owncloud folder using AWK or (notepad++ for exemple on windows)

what: basename(
replace by: preg_replace( '/^.+[\\\/]/', '',

Temporary fix =-)

@msrex
Copy link

msrex commented Nov 14, 2012

I tried with 4.5.2 and the following files without problem:
être
être.txt
ümlaut
Títulos

@tommyatkadx
Copy link
Author

Upgraded to 4.5.2 and still not working. Can you provide more information on your server's configuration? version, dist, locale, etc

@tommyatkadx
Copy link
Author

root@ownCloud:/var/www# locale
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
root@ownCloud:/var/www# uname -a
Linux ownCloud 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux
root@ownCloud:/var/www#
root@ownCloud:/var/www# cat /proc/version
Linux version 2.6.32-5-amd64 (Debian 2.6.32-46) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Sun Sep 23 10:07:46 UTC 2012
root@ownCloud:/var/www#
root@ownCloud:/var/www# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1548951
Server version: 5.1.63-0+squeeze1 (Debian)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US |
+-----------------+
1 row in set (0.00 sec)

mysql>

@msrex
Copy link

msrex commented Nov 15, 2012

locale

LANG=en_US.UTF8
LC_CTYPE="en_US.UTF8"
LC_NUMERIC="en_US.UTF8"
LC_TIME="en_US.UTF8"
LC_COLLATE=POSIX
LC_MONETARY="en_US.UTF8"
LC_MESSAGES="en_US.UTF8"
LC_PAPER="en_US.UTF8"
LC_NAME="en_US.UTF8"
LC_ADDRESS="en_US.UTF8"
LC_TELEPHONE="en_US.UTF8"
LC_MEASUREMENT="en_US.UTF8"
LC_IDENTIFICATION="en_US.UTF8"
LC_ALL=

uname -a

Linux mx 2.6.37.6-0.11-desktop #1 SMP PREEMPT 2011-12-19 23:39:38 +0100 x86_64 x86_64 x86_64 GNU/Linux

mysql -u root -p

Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3116430
Server version: 5.1.62-MariaDB-log SUSE MariaDB RPM

This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US |
+-----------------+
1 row in set (0.00 sec)

Have you confirmed that the locale en_CA is fully installed? There was a bug quite a while ago around incomplete locale installations.

@ravens
Copy link

ravens commented Nov 15, 2012

I switched to 4.5.2 - will report. There is still an issue with "Títulos". Extract from my logs :
PROPFIND /owncloud/remote.php/webdav/clientsync/T%c3%adtulos
PROPFIND /owncloud/remote.php/webdav/clientsync/T%c3%adtulos
PROPFIND /owncloud/remote.php/webdav/clientsync/Ti%cc%81tulos

msrex, did you try with an OSX client ? the problem is on the client side, definitively..

@tommyatkadx
Copy link
Author

I will try with a server in "en_US" to see the difference, I'll let you know

@bartv2
Copy link
Contributor

bartv2 commented Nov 16, 2012

@ravens @tommyatkadx do you have php-intl installed and enabled?

@ravens
Copy link

ravens commented Nov 16, 2012

Yes, on squeeze. My Linux client is not affected.

Yan (iPhon'd)

Le 16 nov. 2012 à 20:33, Bart Visscher [email protected] a écrit :

@ravens @tommyatkadx do you have php-intl installed and enabled?


Reply to this email directly or view it on GitHub.

@msrex
Copy link

msrex commented Nov 17, 2012

On MacOS I ran into some issues, but they might be related to using a self-built version of the client. I will try again after the next client-release. But It is clearly client-only, on the server it works fine, it syncs down to the client, and then on the re-upload it starts to act strange.

@mickvav
Copy link

mickvav commented Nov 20, 2012

looks like I have similar issue with russian locale (on client).
Uploading files with russian names works fine.
Creating directory with russian name gives strange result: directory (in real filesystem) successfully appears, but in web interface I see "folder" directory, which is inaccessible.
In log files I can see this:
[Tue Nov 20 18:20:40 2012] [error] [client 192.168.1.5] PHP Notice: Undefined variable: image_path in /var/www/owncloud/apps/gallery/lib/photo.php on line 110
[Tue Nov 20 18:20:56 2012] [error] [client 192.168.1.5] PHP Notice: Undefined variable: save_dir in /var/www/owncloud/apps/gallery/lib/photo.php on line 104
[Tue Nov 20 18:20:56 2012] [error] [client 192.168.1.5] PHP Notice: Undefined variable: save_dir in /var/www/owncloud/apps/gallery/lib/photo.php on line 105

@DeepDiver1975
Copy link
Member

@mickvav According to your log entries: please disable the gallery app.

@DeepDiver1975
Copy link
Member

@tommyatkadx Can I ask you to give 4.5.4 a try? THX

@dphi
Copy link

dphi commented Dec 12, 2012

I'm experiencing a similar issue.
My setup is Debian Wheezy, Owncloud 4.5.4, installed via the opensuse repository. The main locale of the system is en_GB.UTF-8.

Test:

  1. Create a Folder called 'Üa' via the webinterface. It shows up fine on the page until I reload the page.
  2. Reload the page - The folder is now only called 'a' and I can manually access the folder with the url '?app=files&dir=//Üa'

The filename is corrent in the filesystem and the _filecache path column. The _filecache name column is only 'a'.

@DeepDiver1975
Copy link
Member

@dphi strange
which browser?
which database?

@dphi
Copy link

dphi commented Dec 12, 2012

Chrome 23
Mysql with Debian Version 5.5.28+dfsg-1

I saw a similar issue while uploading folders via the owncloud sync client. (Windows)

Another hint: Changing the name attribute from 'a' to 'Üa' solves the issue.

@DeepDiver1975
Copy link
Member

Which collation is used within mysql?

@dphi
Copy link

dphi commented Dec 12, 2012

utf8_general_ci, it should all be set to the default values.

@DeepDiver1975
Copy link
Member

it works here with sqlite - will test with mysql these days
can you give sqlite a try? THX

@dphi
Copy link

dphi commented Dec 12, 2012

Still the same issue...

@dphi
Copy link

dphi commented Dec 14, 2012

I moved the data now to a different VM running Ubuntu 12.04 and de_DE.UTF-8 as the default locale. The mysql db was dumped to the system. The umlaut issue is gone now.

I'll keep the other VM around for a while in case I can help to debug something with it.

@DeepDiver1975
Copy link
Member

How big is the VM image? Personal data on it?
I'd like to have a look at it if possible.

THX

@dphi
Copy link

dphi commented Dec 17, 2012

You've got mail.

@DeepDiver1975
Copy link
Member

en_US.UTF8 must be installed for now - otherwise any non-ascii characters will work.
THX @dphi for granting me access to your server - much appreciated.

@tommyatkadx
Copy link
Author

I will try it with en_US.UTF8

From: Thomas Müller
Sent: Thursday, December 20, 2012 6:00 AM
To: owncloud/core
Cc: tommyatkadx
Subject: Re: [core] Folder or File with French Accents as first letter in filename or foldername problem (#236)

en_US.UTF8 must be installed for now - otherwise any non-ascii characters will work.
THX @dphi for granting me access to your server - much appreciated.


Reply to this email directly or view it on GitHub.

@lock lock bot locked as resolved and limited conversation to collaborators Aug 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants