When I fitted the nonlinear regression using the openbugs, and calculated the 95% credible interval of the coefficient through the high density interval, I found that the total number of the credible interval including the true vales is higher than 95%, about 98%. What is the probably reason for this ?
I have seen this sort of behaviour before when you do simulations and the assumed true value for the simulations is in the centre of reasonably informative priors (e.g. you have a regression coefficient with a N(0, 1) prior and simulate it as being 0). In contrast, if you sample simulation scenarios from your priors, you should on average get a coverage frequency that matches the nominal level. I.e. the reason is likely that you "sample" (or just fix them) parameter values from a much more narrow distribution at/ close to the centre of your prior.
There is a nice posting that contains this already on Stack Exchange. Credible intervals are not confidence intervals. Read What's the difference between a confidence interval and a credible interval?.
Bayesian credible intervals can have better or worse coverage properties than confidence intervals. Good priors are equivalent to adding to the sample, which makes the intervals narrower and improves coverage.