mysql - 为什么在服务器上找不到中文永久链接?

标签 mysql wordpress encoding

我的 WordPress 永久链接看起来像 http://example.com/?p=N ,看起来丑陋但效果很好。
我想从丑陋的格式更改为漂亮的格式,在 wp-admin/options-permalink.php 中设置它以选择 postname 。 enter image description here

发生错误。 在此服务器上找不到所请求的 URL。 enter image description here

1.可以在mysql控制台中使用以下命令选择帖子:

select * from wp_posts where post_title="查看文件系统类型的linux命令";

2.帖子可以正常显示,url http://hwy.local/test/?p=2250以永久链接的普通形式。

为什么所有的汉字在firfox和mysql控制台都可以正确显示,但在我的服务器上却找不到带有汉字的url?

此处帖子中的四个建议

https://wordpress.stackexchange.com/questions/51498/wordpress-slug-issue-with-non-latin-characters

1 个 WordPress 版本

WordPress 4.4.2 运行“二十十六”主题。

2.htaccess文件

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php [L]
</IfModule>

mysql中的3编码

    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+

我应该将character_set_database和character_set_serve从latin1更改为utf8吗?

4 对于汉字永久链接问题,所有插件均无效。

http://wordpress.org/extend/plugins/universal-slugs/
http://wordpress.org/extend/plugins/strings-sanitizer/

拼音插件在永久链接中比普通模式更难看。
你会惊讶于以下事实: 拼音只是一对发音,pin加yin。
汉语拼音有近千个汉字组合,它们的写法各不相同。
拼音等一种读音形式可以映射成上千种汉字组合,读的时候只有一个读音,写下来的时候可以代表上千种汉字的拼音。
中文是表意文字,拼音对所有母语人士来说毫无意义,拼音只适用于外国人。
我读过更多关于它的帖子,例如 https://core.trac.wordpress.org/ticket/9591
i18n 永久链接问题 https://core.trac.wordpress.org/ticket/9591保持了七年甚至更长的时间,修复它对于所有非英语用户来说非常重要。

最佳答案

这是 url 中非拉丁字符的情况。请引用此链接并尝试解决问题:https://wordpress.stackexchange.com/questions/51498/wordpress-slug-issue-with-non-latin-characters

通常,这个插件会修复这样的问题:http://wordpress.org/extend/plugins/universal-slugs/

其他要检查的内容是 .htaccess 文件,其中包含 WordPress 官方网站中解释的所有规则。

关于mysql - 为什么在服务器上找不到中文永久链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36193749/

相关文章:

php - 如何构建动态访客计数器

php - 根据字段值从不同表中取值

mysql - Laravel 3 : Joining and getting sum of two tables, 有没有更好的方法?

html - 如何在嵌入式 swf 上隐藏边框

java - 即使编码后也无法访问 URL

encoding - Safari 根据请求对已编码的 URL 进行编码

r - 尽管使用 UTF-8,但在 block 内编码会导致字符丢失

mysql - 如何计算复杂分组依据后前一行/天的百分比增加?

python: 使用 'MySQLdb' 模块连接到远程 mysql 服务器

php - WooCommerce - 基于子类别的条件购物车计算