我有一个国际照片网站。当办公室上传来自国外的照片时,字幕和标题有时会有外国字符,例如:
1. François Hollande
2. ValŽrie Trierweiler
这些存储在数据库中(MySQL - latin1_swedish_ci),原样。现在,当用简单的英语搜索没有法语字符的弗朗索瓦语时,这些特定的照片不会显示。
现在这不仅仅是法国人的问题 - 它也是其他国家。在我提交到我的数据库之前,如何将这些外来字符转换为普通字符,例如:
,这怎么可能答案 0 :(得分:5)
您可以使用Adodb.Stream
和ascii
字符集来执行此操作。这是一个例子:
With Server.CreateObject("Adodb.Stream")
.Charset = "ascii"
.Open
.WriteText "François Hollande ValŽrie Trierweiler ÖÇŞİĞÜöçşığü ôûõòùìñ"
.Position = 0
Response.Write .ReadText
End With
以上脚本必须完全打印Francois Hollande ValZrie Trierweiler OCSIGUocsigu ouoouin
。
答案 1 :(得分:1)
并且像这样它可以是一个函数
Function unaccent(strg)
With Server.CreateObject("Adodb.Stream")
.Charset = "ascii"
.Open
.WriteText strg
.Position = 0
unaccent = .ReadText
End With
End Function
答案 2 :(得分:0)
This answer很可能会涵盖您的案例。
您不需要外部库,并且可以使用多种方法检查一致性,使用正则表达式作为个人偏好而不是太大的字符串。