为什么在服务器上找不到中文permlink?

时间:2016-03-24 05:22:00

标签: mysql wordpress encoding

我的wordpress permlink看起来像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.帖子可以用permlink的普通形式的网址http://hwy.local/test/?p=2250很好地显示。

为什么所有中文字符都可以在firfox和mysql控制台中正确显示,在我的服务器上找不到具有中文字符的网址?

对于帖子中的四个建议

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

1个wordpress版本

WordPress 4.4.2运行Twenty Sixteen主题。

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所有插件对中文字符permlink问题都没有影响。

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

拼图插件比permlink中的普通模式更难看 你会对这个事实感到震惊 拼音只是一对发音,针加阴 有几千个汉字组合作为拼音发音,所有这些都以不同的方式写下来 一种形式的发音,如拼音,可以映射成千种汉字组合,当你读它时,只有一个发音;当你写下来时,其中有数千个可以代表拼音。
汉语是表意文字,拼音对所有母语人士都没有意义,拼音只用于外国人 我已经阅读了更多关于它的帖子,例如https://core.trac.wordpress.org/ticket/9591
i18n永久链接问题https://core.trac.wordpress.org/ticket/9591仍然存在超过七年或更长时间,对于所有非英语用户来说,修复它非常重要。

2 个答案:

答案 0 :(得分:0)

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

通常,此插件修复了以下问题:http://wordpress.org/extend/plugins/universal-slugs/

其他需要检查的内容是.htaccess文件,其中包含所有规则,如wordpress官方网站所述。

答案 1 :(得分:0)

在Ash的帮助下,在/etc/mysql/my.cnf中添加行很简单

[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
collation-server=utf8_general_ci