我已经将WordPress网站从Hostgator共享主机迁移到Ubuntu数字海洋灯堆栈。
当我导出具有特殊字符的图像文件时,麻烦就开始了,例如文件opários_tarsila-1024x640.jpg
。
当WordPress试图到达该文件时,它显示一个错误。我找到了原因:
我可以通过Wordpress试图调用的Inspect元素看到:http://mywebsite.com/wp-content/uploads/2013/02/operários_tarsila-1024x640.jpg,服务器返回404错误。
但是,如果我在浏览器中键入此URL:http://mywebsite.com/wp-content/uploads/2013/02/operários_tarsila-1024x640.jpg它可以工作并显示图像。
因此,从字符(
字符)到
字符(
字符)的
编码与
字符(
́
)的编码之间的这种差异似乎是导致WordPress无法显示我的图像的原因。
所以现在我在我的服务器上有成千上万的重音图像文件名,结构
字符
结合重音
和WordPress调用具有结构重音字符
的图像文件名。
有没有一种方法可以让bash用一个comparison表来重命名它们?还是一种让Apache意识到这些差异并在出现这种混乱时指向正确文件的方法?
我们有同样的问题——SK语言中的Mac FileZilla特殊字符。
使用另一个FTP客户端(本例中为Cyberduck)修复了该问题。
FileZilla文件名编码似乎有问题。强制utf8编码(FileZilla主机设置)没有帮助。
所以,只是触及这个问题和一个对我有效的解决方案...我还迁移了一个Wordpress网站,发现所有文件名中带有特殊字符的图像在迁移后都会产生404。
最后,我不得不通过phpMyAdmin手动重命名和编辑数据库。这是一项艰巨的任务,我绝对建议您首先备份数据库。
在我的例子中,我有大量的媒体附件,它们的文件名中使用了特殊字符)
。
首先,我通过删除字符在本地重命名文件。我用了1-4a重命名。只是找到了文件名,并将其替换为空(甚至没有空格)。然后,我从文件夹中删除了所有旧文件,并用新文件替换它们。
接下来,我进入数据库更新表值。媒体附件的信息存储在wp_posts
和wp_postmeta
表中。下面是我更新的SQL-
update wp_posts set guid = replace(guid,'©','');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, '©', '')
WHERE LOWER(RIGHT(meta_value, 5)) = '.jpeg' OR
LOWER(RIGHT(meta_value, 4)) IN ('.jpg', '.gif', '.png')
同样,我们用什么都没有代替角色,甚至没有空格。
我不得不使用WP插件重新生成缩略图,以便更新所有不同附件大小的缩略图,但这样做了。
我真的很感谢大家在这篇文章上的努力,这篇文章帮助我解决了这个问题!希望这对别人有帮助!
显然,问题在于如何在新服务器上解压缩备份。
有两种方法可以解决此问题:
>
以不带重音符号的名称手动重命名文件,然后修改数据库并更改数据库中的文件名(这种情况很危险,最好备份数据库)。
使用Filezilla上传文件,但将其设置为强制使用UTF-8字符集编码。
文件
问题内容: 我试图编写一个文件名带有特殊字符的文件,例如“téééê.mp3”,但文件名始终保留“?” 我尝试了几种方法来代替字符“é”,但没有找到解决方法: 我也尝试过这种方式。 问题答案: 尝试: 现在,如果这是您的文件系统不支持此类文件名的问题,您将得到一个;。不同于,新的API拒绝创建可能最终无法读取的文件名。 如果确实无法创建路径,那么,您将必须找到某种逃避和撤消逃避的方法。也许写一个别
我有一个问题,下载文件有特殊字符在它像"ñ"或"的"。 我正在对每个文件名应用rawurlencode()。但是当我走上这条路线时,apache正在重写我的url。 当我检查a标签中的href时,我得到了正确的URL编码路由,如下图所示。 带有编码url的标记 但是当我点击链接时,编码的数据丢失了 点击链接后丢失编码 这里是我的apache配置
相关网站:http://nubix.ca/blog/we-have-a-drone-and-were-prepared-to-shot/
问题内容: 我正在编写一个简单的文件下载servlet,但无法获取正确的文件名。尝试使用URLEncoding和MimeEncoding在现有答案中看到的文件名,但没有一个起作用。 以下代码段中的fileData对象包含mime类型,byte []内容和文件名,它们至少需要ISO-8859-2字符集,而ISO-8859-1不够。 如何使我的浏览器正确显示下载的文件名? 这是文件名的示例:árvíz
我有一个带有一些特殊字符的mysql数据库,一个输入表单,一些PHP页面。 > 这个页面发送(通过GET)一个参数到另一个php页面(ResultsPage)。 最后这个php页面(ResultsPage)向dbms发送一个带有参数的查询并显示结果。 RequestPage编码为utf-8至 meta http equiv=“Content Type”Content=“text/html;char
问题内容: 我在编译带有类名特殊字符的源文件时遇到问题。该类文件可以在Eclipse IDE中正常编译,但不能从javac中编译。我认为我需要利用该标志,但尚未达到正确的设置。我将不胜感激任何指针: 档案名称: DeptView和SDO.java Java资料来源: 错误信息: 运行会导致以下错误消息: 更新 我目前正在Windows XP命令提示符下尝试编译 最终,此编译将需要成为ant构建的一