好吧,我有一个PHP脚本,从Steam web-api获取昵称,并将它们插入到mysql数据库中.他们中的许多人都有罕见的俄罗斯和希腊人物.我在php.ini和所有的php文件中将php设置为utf-8
mb_internal_encoding('utf-8');
Run Code Online (Sandbox Code Playgroud)
我的PDO连接器配置为处理utf8
$connection = new PDO('mysql:host=localhost;dbname=d2bd;mysql:charset=utf8mb4', 'root', '');
$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$connection->setAttribute(PDO::ATTR_PERSISTENT, true);
$connection->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");
Run Code Online (Sandbox Code Playgroud)
我的mysql数据库已正确配置utf8mb4
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir C:\xampp\mysql\share\charsets\
collation_connection utf8mb4_unicode_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci
completion_type NO_CHAIN
concurrent_insert AUTO
connect_timeout 10
core_file OFF
Run Code Online (Sandbox Code Playgroud)
简而言之,我接受了web-api的输入并用uft8_encode()对其进行编码.然后我将其插入数据库.问题是某些字符编码不好,当我从数据库中调用它们时,它们都被窃听.
例1:
1.输入 - >Перуанскийчертовски
2.Encode - >ÐÐμÑÑанÑкийÑÐμÑÑовÑки
3.插入DB
4.从DB中选择 - >Ð?ÐμÑ?Ñ?анÑкийÑ?ÐμÑ?Ñ?овÑкÐ
5.Decode
6.Output - > ?е ? ?анский ? ? ?овск
例2:
1.输入 - > $ …
好吧,我正在构建一些个人项目来学习 spring roo 2。现在我正在努力解决 spring 安全问题。google 里关于spring roo 2 的资料很少,很多关于spring roo 的spring boot 比较有用的资料。
使用“安全设置”命令,您将获得“--provider”选项。
这是帮助给你的描述:
可选 --provider:要安装的 Spring Security 提供程序。可能的值是:(
DEFAULT将使用 Spring Boot 提供的默认 Spring Security 配置)和SPRINGLETS_JPA(使用 Springlets JPA 身份验证将包含高级 Spring Security 配置);默认值:'默认'
我找不到这两个选项之间的区别,即使在 spring roo M3 参考文档中也是如此。即使搜索“Springlets JPA Authentication”也没有提供任何相关信息。
有人对此有任何线索吗?
谢谢