2

我有一个国际照片网站。当办公室上传来自国外的照片时,标题和标题有时会带有外国字符,例如:

1. François Hollande
2. ValŽrie Trierweiler

这些数据按原样存储在数据库中(MySQL – latin1_swedish_ci)。现在,在搜索 Francois 时,没有法语字符,用简单的英语,那些特定的照片不会显示。

现在这不仅仅是法语字符的问题——其他国家也是如此。这怎么可能,在我提交到我的数据库之前,将这些外来字符转换为普通字符,例如:

  1. 弗朗索瓦·奥朗德
4

3 回答 3

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以上脚本必须准确打印。

于 2012-09-18T19:03:41.863 回答
1

像这样它可以是一个函数

Function unaccent(strg)
    With Server.CreateObject("Adodb.Stream")
    .Charset = "ascii"
    .Open
    .WriteText strg
    .Position = 0
    unaccent = .ReadText
    End With
End Function
于 2014-01-17T16:31:47.860 回答
0

这个答案很可能会涵盖您的情况。

您不需要外部库,并且可以使用多种方法检查一致性,使用正则表达式是我个人对不太大字符串的偏好。

于 2012-09-18T16:17:32.463 回答